有了 GDB,我可以watch i
,每当 i
改变时中断。问题是我有多个使用名称 i
的函数,因此 GDB 在所有这些函数内部中断。
是否可以在 i
更改时中断,但只能在给定函数内中断?
最佳答案
我猜您正在观察一个全局变量,因此它会在修改此变量的所有函数中停止这是符合逻辑和预期的行为。如果您只想在 i
更改时在给定函数内中断,请不要为 i
设置断点。而是为所需的功能设置断点。当遇到此断点时,现在设置i
的监视,以便您确定修改i
时会遇到下一个断点在所需的函数中(忽略可能的递归等)
我猜您可能不会在每个同名函数中观察局部变量,因为您不能在局部变量上设置断点,直到您处于该特定函数的范围内。
关于c - GDB:观察给定范围内的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10501455/