c - GDB:观察给定范围内的变量

标签 c gdb

有了 GDB,我可以watch i,每当 i 改变时中断。问题是我有多个使用名称 i 的函数,因此 GDB 在所有这些函数内部中断。

是否可以在 i 更改时中断,但只能在给定函数内中断?

最佳答案

我猜您正在观察一个全局变量,因此它会在修改此变量的所有函数中停止这是符合逻辑和预期的行为。如果您只想在 i 更改时在给定函数内中断,请不要为 i 设置断点。而是为所需的功能设置断点。当遇到此断点时,现在设置i 的监视,以便您确定修改i 时会遇到下一个断点在所需的函数中(忽略可能的递归等)

我猜您可能不会在每个同名函数中观察局部变量,因为您不能在局部变量上设置断点,直到您处于该特定函数的范围内。

关于c - GDB:观察给定范围内的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10501455/

相关文章:

c - 如何在变量命名中使用日语字符?

我们可以使用头文件而不指定其 .h 扩展名吗

c++ - gdb:查看未使用的 struct typedef

gcc - 当线程清理程序报告数据竞争时如何添加断点?

permissions - GDB 权限

在 C 中转换 void 指针

c - 有没有办法将 C 预处理器定义作为宏传递给外部工具?

c - 为什么我的程序不能正确地将十进制转换为二进制打印?

c - 在GDB(Eclipse)中使用堆栈跟踪调试Coldfire MCF5235上的未知程序异常

c - 如何中断对 gdb 中特定全局变量的访问?