loadobject コマンドは、現在のロードオブジェクトの名前を出力します。ネイティブモードでだけ有効です。
このセクションでは、loadobject オプションを一覧表示し、それらの詳細を説明します。
現在ロードされたロードオブジェクトを表示します。
指定したロードオブジェクトのシンボルをロードします。
指定したロードオブジェクトをアンロードします。
dbx の検索アルゴリズムからロードオブジェクトを削除します。
dbx の検索アルゴリズムにロードオブジェクトを追加します。
ロードオブジェクトのさまざまな ELF 詳細を表示します。
ex-regexp に一致するロードオブジェクトを自動的にロードしません。
パターンの除外リストをクリアします。
ここでは:
regexp は正規表現です。指定していない場合は、コマンドがすべてのロードオブジェクトに適用されます。
ex-regexp はオプションではなく、指定する必要があります。
このコマンドには、別名 lo がデフォルトで設定されています。
loadobject -dumpelf コマンドは、ロードオブジェクトのさまざまな ELF の詳細情報を表示します。ネイティブモードでだけ有効です。
loadobject -dumpelf [regexp]
ここでは:
regexp は正規表現です。指定していない場合は、コマンドがすべてのロードオブジェクトに適用されます。
このコマンドは、ディスク上のロードオブジェクトの ELF 構造に関する情報をダンプします。この出力の詳細は、今後変更される可能性があります。この出力を解析する場合は、Oracle Solaris OS のコマンドである dump または elfdump を使用してください。
loadobject -exclude コマンドは、dbx に指定した正規表現に一致するロードオブジェクトを自動的にロードしないように指示します。
loadobject -exclude ex-regexp [-clear]
ここでは:
ex-regexp は正規表現です。
このコマンドは、指定した正規表現に一致するロードオブジェクトのシンボルを dbx で自動的に読み込まないように指定します。ほかの loadobject サブコマンドでの regexp とは異なり、ex-regexp を指定しない場合は、デフォルトがすべて (all) に設定されません。ex-regexp を指定しない場合、このコマンドは前の loadobject -exclude コマンドで指定された除外パターンを一覧表示します。
-clear を指定した場合は、除外パターンのリストが削除されます。
現時点では、この機能を使用してメインプログラムや実行時リンカーを ロードしないように指定することはできません。また、このコマンドを使用して C++ 実行時ライブラリを読み込まないように指定すると、C++ の一部の機能が正常に機能しなくなります。
このオプションは、実行時チェック (RTC) では使用しないでください。
loadobject -hide コマンドは、dbx の検索アルゴリズムからロードオブジェクトを削除します。
loadobject -hide [regexp]
ここでは:
regexp は正規表現です。指定していない場合は、コマンドがすべてのロードオブジェクトに適用されます。
このコマンドは、プログラムのスコープからロードオブジェクトを削除し、その関数およびシンボルを dbx で認識しないように設定します。また、このコマンドは「preload」ビットをリセットします。詳細については、dbx プロンプトに次を入力して、dbx ヘルプファイルを参照してください。
(dbx) help loadobject preloading
loadobject -list コマンドは、読み込まれているロードオブジェクトを表示します。ネイティブモードでだけ有効です。
loadobject -list [regexp] [-a]
ここでは:
regexp は正規表現です。指定していない場合は、コマンドがすべてのロードオブジェクトに適用されます。
各ロードオブジェクトのフルパス名が表示されます。また、余白部分にはステータスを示す文字が表示されます。隠されたロードオブジェクトは、-a オプションを指定した場合のみリスト表示されます。
"hidden" を意味します (シンボルは、whatis や stop in などのシンボル照会では検出されません)。
有効なプロセスがある場合、u は「マップされていない」を意味します。
この文字は、プリロードされたロードオブジェクト、つまり 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 load-object
ここでは:
load-object には、フルパス名または /usr/lib、/usr/lib/sparcv9、または /usr/lib/amd64 内のライブラリを指定します。プログラムがデバッグ中の場合は、該当する ABI ライブラリのディレクトリだけが検索されます。
loadobject -unload コマンドは、指定したロードオブジェクトを読み込み解除します。ネイティブモードでだけ有効です。
loadobject -unload [regexp]
ここでは:
regexp は正規表現です。指定していない場合は、コマンドがすべてのロードオブジェクトに適用されます。
このコマンドは、コマンド行に指定された regexp に一致するすべてのロードオブジェクトのシンボルをアンロードします。debug コマンドでロードした主プログラムはアンロードできません。また、dbx は使用中のロードオブジェクトや、dbx が正常に動作するために必要なロードオブジェクトのアンロードも拒否する場合があります。
loadobject -use コマンドは、dbx の検索アルゴリズムにロードオブジェクトを追加します。ネイティブモードでだけ有効です。
loadobject -use [regexp]
ここでは:
regexp は正規表現です。指定していない場合は、コマンドがすべてのロードオブジェクトに適用されます。