ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Oracle Solaris Studio 12.3: dbx コマンドによるデバッグ Oracle Solaris Studio 12.3 Information Library (日本語) |
loadobject コマンドは、現在のロードオブジェクトの名前を出力します。ネイティブモードでだけ有効です。
読み込まれているロードオブジェクトを表示します (「loadobject -list コマンド」参照)。
指定したロードオブジェクトのシンボルを読み込みます (「loadobject -load コマンド」参照)。
指定したロードオブジェクトの読み込みを解除します (「loadobject -unload コマンド」参照)。
dbx の検索アルゴリズムからロードオブジェクトを削除します (「loadobject -hide コマンド」参照)。
dbx の検索アルゴリズムにロードオブジェクトを追加します (「loadobject -use コマンド」参照)。
ロードオブジェクトの ELF 情報を表示します (「loadobject -dumpelf コマンド」参照)。
ex_regexp に一致するロードオブジェクトを自動的に読み込まないように指定します (「loadobject -exclude コマンド」参照)。
除外パターンのリストをクリアします (「loadobject -exclude コマンド」参照)。
ここで
regexp は正規表現です。指定していない場合は、コマンドがすべてのロードオブジェクトに適用されます。
ex-regexp は省略できません。
このコマンドには、別名 lo がデフォルトで設定されています。
loadobject -dumpelf コマンドは、ロードオブジェクトのさまざまな ELF の詳細情報を表示します。ネイティブモードでだけ有効です。
loadobject -dumpelf [regexp]
ここで
regexp は正規表現です。指定していない場合は、コマンドがすべてのロードオブジェクトに適用されます。
このコマンドは、ディスク上のロードオブジェクトの ELF 構造に関する情報をダンプします。この出力の詳細は、今後変更される可能性があります。この出力を解析する場合は、Solaris OS のコマンドである dump または elfdump を使用してください。
loadobject -exclude コマンドは、指定した正規表現に一致するロードオブジェクトを自動的に読み込まないように指定します。
loadobject -exclude ex_regexp [-clear]
ここで
ex_regexp は正規表現です。
このコマンドは、指定した正規表現に一致するロードオブジェクトのシンボルを dbx で自動的に読み込まないように指定します。ほかの loadobject のサブコマンドでの regexp とは異なり、ex_regexp を指定しない場合は、すべてのロードオブジェクトを対象に処理が実行されることはありません。ex-regexp を指定しない場合は、このコマンドは前の loadobject -exclude コマンドで指定した除外パターンを表示します。
-clear を指定した場合は、除外パターンのリストが削除されます。
現時点では、この機能を使用してメインプログラムや実行時リンカーを読み込まないように指定することはできません。また、このコマンドを使用して C++ 実行時ライブラリを読み込まないように指定すると、C++ の一部の機能が正常に機能しなくなります。
このオプションは、実行時チェック (RTC) では使用しないでください。
loadobject -hide コマンドは、dbx の検索アルゴリズムからロードオブジェクトを削除します。
loadobject -hide [regexp]
ここで
regexp は正規表現です。指定していない場合は、コマンドがすべてのロードオブジェクトに適用されます。
このコマンドは、プログラムのスコープからロードオブジェクトを削除し、その関数およびシンボルを dbx で認識しないように設定します。また、このコマンドは、'preload' ビットをリセットします。
loadobject -list コマンドは、読み込まれているロードオブジェクトを表示します。ネイティブモードでだけ有効です。
loadobject -list [regexp] [-a]
ここで
regexp は正規表現です。指定していない場合は、コマンドがすべてのロードオブジェクトに適用されます。
各ロードオブジェクトのフルパス名が表示されます。また、余白部分には状態を示す文字が表示されます。隠されたロードオブジェクトは、-a オプションを指定した場合のみリスト表示されます。
"hidden" を意味します (シンボルは、whatis や stop in などのシンボル照会では検出されません)。
有効なプロセスがある場合、u は「マップされていない」を意味します。
この文字は、事前に読み込まれた LO、つまり loadobject -load コマンドまたはプログラムの dlopen イベントの結果を示します。
例:
(dbx) lo -list libm /usr/lib/64/libm.so.1 /usr/lib/64/libmp.so.2 (dbx) lo -list ld.so h /usr/lib/sparcv9/ld.so.1 (rtld)
最後の例は、実行時リンカーのシンボルがデフォルトでは隠されていることを示します。これらのシンボルを dbx コマンドで使用するには、次の 「loadobject -use コマンド」を使用します。
loadobject -load コマンドは、指定したロードオブジェクトのシンボルを読み込みます。ネイティブモードでだけ有効です。
loadobject -load loadobject
ここで
loadobject には、フルパス名または /usr/lib、/usr/lib/sparcv9、または /usr/lib/amd64 内のライブラリを指定します。デバッグ中のプログラムがある場合は、該当する ABI ライブラリのディレクトリだけが検索されます。
loadobject -unload コマンドは、指定したロードオブジェクトを読み込み解除します。ネイティブモードでだけ有効です。
loadobject -unload [regexp]
ここで
regexp は正規表現です。指定していない場合は、コマンドがすべてのロードオブジェクトに適用されます。
このコマンドは、コマンド行で指定した regexp に一致するすべてのロードオブジェクトのシンボルを読み込み解除します。debug コマンドで読み込んだ主プログラムは読み込み解除できません。また、使用中のロードオブジェクトや、dbx が正常に動作するために必要なロードオブジェクトの読み込み解除もできない場合があります。
loadobject -use コマンドは、dbx の検索アルゴリズムにロードオブジェクトを追加します。ネイティブモードでだけ有効です。
loadobject -use [regexp]
ここで
regexp は正規表現です。指定していない場合は、コマンドがすべてのロードオブジェクトに適用されます。