之前的一个问题解释说,在x86上,被监视对象的大小受调试寄存器的限制.正如所料,我可以"观察"一个双变量.但我不能看一个双数据,例如,
watch pObject->dPrice
Run Code Online (Sandbox Code Playgroud)
产生
Hardware watchpoint 1: pObject->dPrice
Run Code Online (Sandbox Code Playgroud)
但是,当你试图继续执行时,它说
无法插入硬件断点:您可能请求了太多硬件断点/观察点.
即使这是唯一的断点/观察点.
我很好奇为什么会这样,但更重要的是有办法吗?根据GDB文档,如果它不能使用硬件,它可能会使用软件观察点.在这种情况下,它不会尝试使用软件观察点 - 是否有办法强制它这样做?