我有这样的结构:
struct A
{
int a;
char b;
};
此结构在大型代码的不同地方被引用。指向这个结构的指针被传递给不同的函数,相应地更新了这个结构中的变量。我想在此结构中的变量 a 上设置一个观察点,因为它遍历许多函数。看看 a 是如何变化的。如何设置这个观察点?
最佳答案
首先设置一个断点,您可以在其中使用break 创建结构的实例,例如
break myfile.c:9
然后只需使用watch 设置一个观察点,比如
watch myStructInstance.a
对于变量a 或
watch *0x7ffff75177f0
用于内存地址。可以使用print 轻松获取内存地址,例如
print &myStructInstance.a
现在每次修改变量 a 或给定的内存地址时,gdb 都会中断。
关于linux - 结构变量上的 gdb 观察点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10832435/