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

印刷ビューの終了

更新: 2015 年 1 月
 
 

fix と cont の働き

fix コマンドを使用する前に、ソースを編集する必要があります。変更を保存したあと、fix コマンドを発行します。fix コマンドについては、fix コマンドを参照してください。

fix が実行されると、dbx は適切なコンパイラオプションでコンパイラを呼び出します。変更後のファイルがコンパイルされ、一時共有オブジェクト (.so) ファイルが作成されます。古いファイルと新しいファイルとを比較することによって、修正の安全性を検査する意味上のテストが行われます。

実行時リンカーを使用して新しいオブジェクトファイルが動作中のプロセスにリンクされ、スタックの一番上にある関数が修正されている場合は、新しい停止した関数が、新しい関数内の同じ行の先頭になります。さらに、古いファイルのブレークポイントがすべて新しいファイルに移動します。

修正継続機能はデバッグ情報あり、またはなしのどちらでコンパイルされたファイルに対しても使用できますが、最初にデバッグ情報なしでコンパイルされたファイルの場合、fix コマンドと cont コマンドの機能にはいくつかの制限があります。 fix Commandfix コマンド オプションの解説を参照してください。

共有オブジェクト (.so) ファイルは、修正は可能ですが、特殊なモードで開く必要があります。dlopen 関数の呼び出しで RTLD_NOW|RTLD_GLOBAL または RTLD_LAZY|RTLD_GLOBAL のどちらかを使用できます。

Oracle Solaris Studio C および C++ コンパイラのプリコンパイル済みヘッダー機能では、再コンパイル時にコンパイラオプションが同じである必要があります。fix コマンドによって、コンパイラオプションがわずかに変更されるため、プリコンパイル済みヘッダーを使用して作成されたオブジェクトファイルでは fix コマンドを使用しないでください。