相关疑难解决方法(0)

设置GDB硬件观察点/如何设置软件观察点

之前的一个问题解释说,在x86上,被监视对象的大小受调试寄存器的限制.正如所料,我可以"观察"一个双变量.但我不能看一个双数据,例如,

watch pObject->dPrice
Run Code Online (Sandbox Code Playgroud)

产生

Hardware watchpoint 1: pObject->dPrice
Run Code Online (Sandbox Code Playgroud)

但是,当你试图继续执行时,它说

无法插入硬件断点:您可能请求了太多硬件断点/观察点.

即使这是唯一的断点/观察点.

我很好奇为什么会这样,但更重要的是有办法吗?根据GDB文档,如果它不能使用硬件,它可能会使用软件观察点.在这种情况下,它不会尝试使用软件观察点 - 是否有办法强制它这样做?

c++ linux x86 gdb

19
推荐指数
3
解决办法
1万
查看次数

标签 统计

c++ ×1

gdb ×1

linux ×1

x86 ×1