visual-studio - 如何禁用程序断点/断言?

标签 visual-studio debugging x86 assert debugbreak

我正在使用 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/

相关文章:

assembly - 如果 nasm 代码遇到 _start 结尾,是否会自动移动到下一个标签?

debugging - 本地 Azure 待办事项列表

c++ - 在 64 位 x86 机器中读/写双值是原子的

c# - 如何使用 NuGet.Core 创建 NuGet 包?

windows - VS 2017 商店 'Create App Packages' 已禁用

debugging - 在 PhpStorm 中设置调试变量列表的顺序

javascript - 如何使用JSON.parse reviver参数解析日期字符串

x86 - 在 st0 中存储通用寄存器

c# - 为什么我无法(远程)调试我的 Azure Web Api?

c# - 如何在 Visual Studio 中从 WinForms Designer 设置父控件?