を生成可能変数を/home/dumindara/random/sotest/a.out
に変更します。LD_PRELOADのための私のlibを設定すると、いくつかのプロセスが私は私だけの実行アクセス権を持っているスクリプトを実行しようとすると、私は次のエラーを取得するローダエラー
a.out
は、関数malloc
を持ち、dlsym
を内部的に呼び出します。
ls
を実行してもこの問題は発生しません。ほとんどのプロセスでこのエラーが発生します。なぜこれが起こり、私はそれを機能させるために何ができるのですか?
それは一般的に良いことですシェル環境を変更するのではなく、a.outに対してのみLD_PRELOADを設定するというアイディアです。ほとんどのUNIXシェルでは、 'LD_PRELOAD = xyz。/ a.out'とタイプすることができます。それ以外の場合は '(LD_PRELOAD = xyz; ./a.out)'を試してください。 –
@トニー:私はa.outは、この場合、共有されたオブジェクトだと思います。 OPは明らかに 'malloc()'を独自のバージョンでオーバーライドしてから実際のmallocにパススルーしようとしています。 – thkala
@tkhala:ああ、良いキャッチは、LD_PRELOAD = \ 'pwd \' /a.out program_to_test'のようになります.... –