我正在使用 Visual Studio 开发 native 应用程序,我在使用 __asm int 3 或 __debugbreak 放置的代码中有一个程序断点(断言)。有时当我点击它时,我想禁用它,以便同一调试 session 中的连续点击不再闯入调试器。我怎样才能做到这一点?
最佳答案
x86/x64
假设您正在编写 x86/x64 应用程序,请在监 window 口中写入以下内容:
x86: *(char *)eip,x
x64: *(char *)rip,x
您应该看到一个值 0xcc,它是 INT 3 的操作码。将其替换为 0x90,它是 NOP 的操作码。您还可以使用带有 eip 作为地址的内存窗口。
每次点击付费
假设您正在编写 PPC 应用程序(例如 Xbox 360),请在您的监 window 口中写入以下内容:*(int *)iar,x
您应该看到一个值 0xfeNNNNNN,它是陷阱的操作码(通常是 0x0fe00016 = 无条件陷阱)。将其替换为 0x60000000,它是 NOP 的操作码。
关于visual-studio - 如何禁用程序断点/断言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/115237/