Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有了 GDB,我可以在任何变化watch i时中断i。问题是我有多个使用 name 的函数i,所以 GDB 打破了所有这些函数。
watch i
i
是否可以在更改时中断i,但仅在给定函数内?
我猜您正在观看一个全局变量,因此它会在修改此变量的所有函数中停止,这是逻辑和预期的行为。如果您只想在更改时仅在给定函数内中断i,请不要为i. 而是为所需的函数设置断点。当这个断点被命中时,现在设置监视,i以便您确定i在所需函数中修改时将命中下一个断点(忽略可能的递归等)
我猜想您可能不会在每个同名函数中观察局部变量,因为在该特定函数的范围内之前,您无法在局部变量上设置断点。