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
そして関連ソースコード。