Oracle® Developer Studio 12.5: dbx コマンドによるデバッグ

印刷ビューの終了

更新: 2016 年 6 月
 
 

loadobject コマンド

loadobject コマンドは、現在のロードオブジェクトの名前を出力します。ネイティブモードでだけ有効です。

このセクションでは、loadobject オプションを一覧表示し、それらの詳細を説明します。

構文

loadobject -list [regexp] [-a]

現在ロードされたロードオブジェクトを表示します。

loadobject -load loadobject

指定したロードオブジェクトのシンボルをロードします。

loadobject -unload [regexp]

指定したロードオブジェクトをアンロードします。

loadobject -hide [regexp]

dbx の検索アルゴリズムからロードオブジェクトを削除します。

loadobject -use [regexp]

dbx の検索アルゴリズムにロードオブジェクトを追加します。

loadobject -dumpelf [regexp]

ロードオブジェクトのさまざまな ELF 詳細を表示します。

loadobject -exclude ex-regexp

ex-regexp に一致するロードオブジェクトを自動的にロードしません。

loadobject exclude -clear

パターンの除外リストをクリアします。

ここでは:

regexp は正規表現です。指定していない場合は、コマンドがすべてのロードオブジェクトに適用されます。

ex-regexp はオプションではなく、指定する必要があります。

このコマンドには、別名 lo がデフォルトで設定されています。

loadobject -dumpelf コマンド

loadobject -dumpelf コマンドは、ロードオブジェクトのさまざまな ELF の詳細情報を表示します。ネイティブモードでだけ有効です。

構文

loadobject -dumpelf [regexp]

ここでは:

regexp は正規表現です。指定していない場合は、コマンドがすべてのロードオブジェクトに適用されます。

このコマンドは、ディスク上のロードオブジェクトの ELF 構造に関する情報をダンプします。この出力の詳細は、今後変更される可能性があります。この出力を解析する場合は、Oracle Solaris OS のコマンドである dump または elfdump を使用してください。

loadobject -exclude コマンド

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 コマンド

loadobject -hide コマンドは、dbx の検索アルゴリズムからロードオブジェクトを削除します。

構文

loadobject -hide [regexp]

ここでは:

regexp は正規表現です。指定していない場合は、コマンドがすべてのロードオブジェクトに適用されます。

このコマンドは、プログラムのスコープからロードオブジェクトを削除し、その関数およびシンボルを dbx で認識しないように設定します。また、このコマンドは「preload」ビットをリセットします。詳細については、dbx プロンプトに次を入力して、dbx ヘルプファイルを参照してください。

(dbx) help loadobject preloading

loadobject -list コマンド

loadobject -list コマンドは、読み込まれているロードオブジェクトを表示します。ネイティブモードでだけ有効です。

構文

loadobject -list [regexp] [-a]

ここでは:

regexp は正規表現です。指定していない場合は、コマンドがすべてのロードオブジェクトに適用されます。

各ロードオブジェクトのフルパス名が表示されます。また、余白部分にはステータスを示す文字が表示されます。隠されたロードオブジェクトは、-a オプションを指定した場合のみリスト表示されます。

h

"hidden" を意味します (シンボルは、whatisstop in などのシンボル照会では検出されません)。

u

有効なプロセスがある場合、u は「マップされていない」を意味します。

p

この文字は、プリロードされたロードオブジェクト、つまり 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 -load load-object

ここでは:

load-object には、フルパス名または /usr/lib/usr/lib/sparcv9、または /usr/lib/amd64 内のライブラリを指定します。プログラムがデバッグ中の場合は、該当する ABI ライブラリのディレクトリだけが検索されます。

loadobject -unload コマンド

loadobject -unload コマンドは、指定したロードオブジェクトを読み込み解除します。ネイティブモードでだけ有効です。

構文

loadobject -unload [regexp]

ここでは:

regexp は正規表現です。指定していない場合は、コマンドがすべてのロードオブジェクトに適用されます。

このコマンドは、コマンド行に指定された regexp に一致するすべてのロードオブジェクトのシンボルをアンロードします。debug コマンドでロードした主プログラムはアンロードできません。また、dbx は使用中のロードオブジェクトや、dbx が正常に動作するために必要なロードオブジェクトのアンロードも拒否する場合があります。

loadobject -use コマンド

loadobject -use コマンドは、dbx の検索アルゴリズムにロードオブジェクトを追加します。ネイティブモードでだけ有効です。

構文

loadobject -use [regexp]

ここでは:

regexp は正規表現です。指定していない場合は、コマンドがすべてのロードオブジェクトに適用されます。