如何在 vscode 中设置 C/C++ 内存观察点?

joz*_*yqk 5 gdb watch watchpoint visual-studio-code vscode-debugger

gdbI can type watch &variable,然后继续,每当有内容写入该地址时,gdb 就会中断。

我正在使用 vscode 进行调试并希望做同样的事情(这与观察窗口不同,它只会在断点被击中后显示变量值)。是否可以?

我可以通过单击“+”并输入来手动添加断点,&variable但它永远不会变为活动状态并表示该模块尚未加载。我试过-exec watch &variable在调试器控制台窗口中手动输入,但在使用播放按钮继续执行后它挂起(vscode 认为程序再次运行,但事实并非如此)。

这有一些 github 问题,但它们无缘无故地关闭了:

Tai*_*s86 6

我很幸运地看到了一个地址。例如,如果我的目标变量位于地址 0xb79b90,我将-exec watch *0xb79b90在 gdb 终端中执行。然后我会仔细检查它是否已添加为硬件观察点-exec info watch

继续执行后,一旦到达观察点,调试器将因异常而停止。vscode 将显示更改值后的行。如果有必要,我可以从那里继续。

在此输入图像描述