ブレークポイントにより、バグの出現箇所の前でプログラムを停止したり、何が間違っているかを検出するためにコードをステップスルーしたりできます。
まだ行なっていない場合は、「出力」ウィンドウの連結を解除します。
以前はこのプログラムをコマンド行から実行しました。dbxtool でプログラムを実行して、バグを再現します。
ツールバーの「再起動」ボタン
をクリックするか、「デバッガ・コンソール」ウィンドウで run と入力します。
「デバッガ・コンソール」ウィンドウで Return キーを押します。
警告ボックスに、SEGV に関する情報が表示されます。
警告ボックスで、「破棄して一時停止」をクリックします。
「エディタ」ウィンドウで、Interp::find() 内の strcmp() の呼び出しが再度強調表示されます。
ツールバーの「呼び出し元を現在に設定」ボタン
をクリックして、以前に Interp::dispatch() に表示された不明なコードに移動します。
次のセクションでは、find() の呼び出し箇所の少し前にブレークポイントを設定し、コードをステップスルーして不具合の理由を特定できるようにします。