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

JVM ソフトウェアによって読み込まれていないコードに対するブレークポイントの設定

JVM ソフトウェアによって読み込まれていないクラスファイル内の Java メソッドに停止ブレークポイントを設定するには、stop in コマンドでクラスのフル名を使用するか、stop inmethod コマンドでクラス名を使用します。次はその例です。


(dbx) stop in Java.Pkg.Toy.myclass.class.mymethod
(dbx) stop inmethod myclass.class.mymethod

JVM ソフトウェアによって読み込まれていない共有ライブラリ内の C/C++ 関数に停止ブレークポイントを設定するには、ブレークポイントを設定する前に共有ライブラリのシンボルテーブルを事前に読み込みます。たとえば myfunc という関数を含む mylibrary.so というライブラリがある場合は、次のように入力することによって、ライブラリを事前に読み込み、関数にブレークポイントを設定することができます。


(dbx) loadobject -load fullpathto/mylibrary.so
(dbx> stop in myfunc

dbx でデバッグを開始する前に 1 回アプリケーションを実行することによって、動的に読み込まれたすべての共有オブジェクトのシンボルテーブルを読み込むこともできます。