私は、トレース ライブラリ用の Mac ランチャーに取り組んでいます。トレースは、ライブラリをDYLD_INSERT_LIBRARIES
(Mac に相当するLD_PRELOAD
) に追加することで機能します。DYLD_INSERT_LIBRARIES
その後、さらにプロセスが生成されると、変数はトレース ライブラリによって伝播されます。
問題は、32 ビット tracee プロセスには 32 ビット バージョンのトレース ライブラリを使用し、64 ビット tracee プロセスには 64 ビット バージョンを使用する必要があることです。私が持っている Linux ランチャーでは、これは in を使用すること${LIB}
で実現されます。LD_PRELOAD
動的ローダー ( ld.so
) は、プロセスをロードするときにこれを「正しいもの」に置き換えます。
Macld.so
の の${LIB}
変数に相当するものはありますか? マニュアル ページ ( https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/dyld.1.html )dyld
を調べたときに、すぐには表示されませんでしたが、読み間違うだけ。そうでない場合、同じ効果を達成する別の方法はありますか?