Sun Studio 12: dbx コマンドによるデバッグ

共有ライブラリでブレークポイントを設定する

dbx は、実行時リンカーにおけるプログムを呼び出すインタフェースを使用しているコード (dlopen()dlclose()、および関連関数を呼び出すコード) について完全なデバッグサポートを提供します。実行時リンカーは、プログラム実行の最中、共有ライブラリを結合および結合解除します。dlopen() / dlclose() デバッグサポートが提供されているため、ユーザーは関数内部を操作したり、 プログラムの起動時にリンクされたライブラリの場合と同様に、動的な共有ライブラリの関数にブレークポイントを設定することができます。

ただし、例外もあります。dbx は、dlopen() などで読み込まれていないロードオブジェクトにブレークポイントを配置できません。

loadobject コマンドを使用すると、事前読み込みリストにそれらのロードオブジェクトの名前を配置できます (loadobject コマンド」を参照)。

dbx は、dlopen() で読み込まれたロードオブジェクトを確実に管理します。たとえば、新たに読み込まれたロードオブジェクトに設定されたブレークポイントは、次の run コマンドが実行されるまで維持されます。これは、ロードオブジェクトが dlclose() でロード解除されたあと、再度 dlopen() で読み込まれた場合も同様です。