我正在尝试追查不正确的运行时 cpu 功能报告的来源。我相当肯定它是由于C++“As-If-Broken”规则,该语言允许编译器采用正确的程序并将其转换为不正确的程序。
根据5.1.2 设置观察点:
为表达式设置观察点。当程序写入表达式 expr 并且其值发生变化时,gdb 将中断。此命令最简单(也是最流行)的用法是查看单个变量的值:
(gdb) 看 foo
请注意,观察点用于写访问,而不是读写访问。
我想在一个变量上设置一个读写访问的观察点,该变量在启动时在一个函数中设置一次__attribute__(constructor)
,然后在确定特性后多次读取。我想这样做以确认优化器正在删除调用,并可能确定有多少调用被删除。
如何使用 GDB 设置读写观察点?