gdbセッションを開始し、ブレークポイントを作成して実行するとします。同じgdbセッションで再実行中のハードウェアウォッチポイントを保持することはできますか?
私が壊れた後、私は現在の実行中のシンボルのメモリアドレスに基づいてウォッチポイントを作成し、元のブレークポイントを削除します。
しばらくして、私はControl-C
でプログラムを中断しますが、まだgdbの中に入れて、run
コマンドを発行してプログラムを最初からやり直します。
しかし、私はデバッグされたプロセスの再起動時にハードウェアウォッチポイントを保持したいと思います。
再実行時にハードウェアウォッチポイントを保持できるgdb設定がありますか?
更新:これは問題を再現するための例です。
int main(){
int NeverGoOutOfScope = 0;
NeverGoOutOfScope = 7;
while (1);
}
ここにはgdb
コマンドのシーケンスがあります。
break 3
run
watch NeverGoOutOfScope
info watch
run
# After this point, the breakpoint remains but the watchpoint is gone.
info watch
ウォッチポイントを再作成せずに保存することはできますか?
はデフォルトでは保存されていませんか? –
ウォッチポイントが消えます。ブレークポイントは保存されます。 – merlin2011
ブレークポイントの再設定中にエラーが発生しました。NUMBER:現在のコンテキスト内にvariable_nameというシンボルはありませんが、ウォッチポイントはブレークポイントリストに残ります: 'NUMBER hw watchpoint keep y variable_name'とその値が出力されています次の実行で... –