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

时间:2012-05-08 15:15:01

标签: c gdb

使用GDB,watch i可以在i更改时中断。问题是我有多个使用名称i的函数,因此GDB会破坏所有这些函数。

是否有可能在i更改时中断,但仅在给定函数内部?

1 个答案:

答案 0 :(得分:4)

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

我猜你可能没有在每个具有相同名称的函数中查看局部变量,因为 在你处于特定函数的范围之前,你不能在局部变量上设置断点。