我有一个基本上创建一个线程多次的应用程序。我想在这些线程上观察对局部变量的更改。我可以通过在初始化变量后设置断点来动态安装watchpoint,然后在运行这样的线程时自动安装一个监视点:
break somefile.c:123
commands
watch myvar
continue
end
这看起来效果很好,除了每次其中一个线程终止时,gdb会中断以下消息:
Watchpoint 3 deleted because the program has left the block in which its expression is valid.
这是有道理的,因为局部变量超出了范围。但有没有办法让gdb 不在发生这种情况时中断,以便应用程序继续运行而不必无数次地连续点击?