LD_DEBUGを含む式を処理する方法は?

LD_DEBUGを含む式を処理する方法は?

LD_DEBUG の使用例は次のとおりです。

LD_DEBUG=libs applicationName

LD_DEBUG=ライブラリ単純なタスク - Bashではどのように機能します(結果印刷)?

答え1

LD_DEBUGそのコンテキスト内には、値を割り当てた環境変数がありますlibs。始めたばかりのコマンドの環境に置かれるLD_DEBUG以外は、それ自体は何もしません。

動的にリンクされた実行可能ファイルを起動するときに最初に起こるのは、動的リンカーがランタイムリンクld.so(8)とシンボルチェックを実行することです。これを行う動的リンカのコードは、コンパイルされたコードと同様に環境変数を読み取ることができます。プログラムはこの環境変数と他のいくつかの変数を読み取り、それに基づいて動作を変更します。マニュアルページでは、動的リンカーに影響を与えるすべての環境変数について詳しく説明しています。

答え2

LD_DEBUGはld.so.1(ELFバイナリから呼び出される動的リンカ)で評価されます。

動的リンカーのマニュアルページを確認してください。

http://schillix.sourceforge.net/man/man1/ld.so.1.1.html

シェルでは何も実行されず、実行されるバイナリによってすべてのタスクが「完了」されます。

注:このコマンドは、ldd特別な操作を行わずにいくつかのLD_ *変数を設定してからコマンドを開始しようとします。オプションが指定されていない場合、lddはを設定しますLD_TRACE_LOADED_OBJECTS_[AE]

http://schillix.sourceforge.net/man/man1/ldd.1.html

そして関連ソースコード。

関連情報