linux - 结构变量上的 gdb 观察点

标签 linux gdb watchpoint

我有这样的结构:

    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/

相关文章:

gdb - 如何在本地范围的变量上设置持久和条件观察点?

linux - 鬼脚本字体

c - IPC FIFO 生产者-消费者死锁

c - ALSA: snd_pcm_hw_params_free() 导致内存错误

linux - HADOOP_HOME 如何引用 hadoop 命令

c - 从 shellcode 中获取 128 位 key

emacs - gud-gdb emacs 24 不工作

c++ - Memcmp 似乎给我一个不正确的返回值

c++ - 如何在 dbx 中设置硬件观察点?

memory - 如何实现/设置数据断点?