6

有了 GDB,我可以在任何变化watch i时中断i。问题是我有多个使用 name 的函数i,所以 GDB 打破了所有这些函数。

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

4

1 回答 1

6

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

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

于 2012-05-08T15:40:52.437 回答