有没有人有使用 这里描述的 Windows Native Client 调试器调试 Native Client 应用程序的经验?
我正在尝试在应用程序代码中触发软件断点或异常,这将在触发它的源行停止附加和运行的 GDB 并能够继续执行。
我可以通过创建非法地址异常来做到这一点,例如:
#define SOFTBREAK { int *p=0; p=0; }
它确实会在使用定义的地方进入调试器:
Program received signal SIGSEGV, Segmentation fault.
0x0000000c00209ba2 in CTestTestList::Init (this=0xfe55d080) at ../testlist.cpp:1242
1242 in ../testlist.cpp
但是我似乎无法使用跳转命令继续执行以跳过断行(使用下一个源代码行或汇编地址)。在继续之前,我是否需要确认或清除分段错误?
有谁知道是否可以使用非法地址异常继续执行?或者是否可以使用其他方法,例如引发软件异常 (EXC_SOFTWARE)?任何帮助或建议将不胜感激。
(顺便说一句,这是我第一篇关于堆栈溢出的帖子,所以如果我在这篇帖子中没有遵守任何礼仪,我深表歉意。)
非常感谢,
安迪