C - 使用程序集制作观察点

C - make watchpoint with assembly

就像 gdb 对观察点所做的那样,我想以编程方式在 C 中放置一个观察点。我听说这可以通过汇编实现。目前我只知道像这条指令这样的断点:

int i=0;
while(1){
    i++;
    if(i >= 10)
         asm("int");/*break*/
} 

经过搜索,有可能使用TUI模式显示程序集的指令并在我的程序中重用它,但它不起作用。

gdb -q ./prog -tui
gdb: TUI mode is not supported

感谢您的帮助。

在 x86 上,要创建硬件观察点,您需要对其中一个调试寄存器进行编程。你可以开始 here.