Oracle® Solaris Studio 12.4: dbxtool チュートリアル

印刷ビューの終了

更新: 2014 年 10 月
 
 

ブレークポイントとステップ動作の使用法

ブレークポイントにより、バグの出現箇所の前でプログラムを停止したり、何が間違っているかを検出するためにコードをステップスルーしたりできます。

まだ行なっていない場合は、「出力」ウィンドウの連結を解除します。

以前はこのプログラムをコマンド行から実行しました。dbxtool でプログラムを実行して、バグを再現します。

  1. ツールバーの「再起動」ボタン image:「再起動」ボタン をクリックするか、「デバッガ・コンソール」ウィンドウで run と入力します。

  2. 「デバッガ・コンソール」ウィンドウで Return キーを押します。

    警告ボックスに、SEGV に関する情報が表示されます。

    image:SEGV を表示する「シグナルがキャッチされました」警告ボックス
  3. 警告ボックスで、「破棄して一時停止」をクリックします。

    「エディタ」ウィンドウで、Interp::find() 内の strcmp() の呼び出しが再度強調表示されます。

  4. ツールバーの「呼び出し元を現在に設定」ボタン image:「呼び出し元を現在に設定」ボタン をクリックして、以前に Interp::dispatch() に表示された不明なコードに移動します。

  5. 次のセクションでは、find() の呼び出し箇所の少し前にブレークポイントを設定し、コードをステップスルーして不具合の理由を特定できるようにします。