0

我正在尝试追查不正确的运行时 cpu 功能报告的来源。我相当肯定它是由于C++“As-If-Broken”规则,该语言允许编译器采用正确的程序并将其转换为不正确的程序。

根据5.1.2 设置观察点

为表达式设置观察点。当程序写入表达式 expr 并且其值发生变化时,gdb 将中断。此命令最简单(也是最流行)的用法是查看单个变量的值:

(gdb) 看 foo

请注意,观察点用于写访问,而不是读写访问。

我想在一个变量上设置一个读写访问的观察点,该变量在启动时在一个函数中设置一次__attribute__(constructor),然后在确定特性后多次读取。我想这样做以确认优化器正在删除调用,并可能确定有多少调用被删除。

如何使用 GDB 设置读写观察点?

4

1 回答 1

2

如何使用 GDB 设置读写观察点?

(gdb) help awatch

手册

awatch [-l|-location] expr [thread thread-id] [mask maskvalue]

Set a watchpoint that will break when expr is either read from
or written into by the program.
于 2016-06-05T04:33:15.240 回答