【问题标题】:Get rid of "*.exe has triggerd a breakpoint"-Messagebox摆脱“*.exe 已触发断点”-Messagebox
【发布时间】:2014-07-26 09:45:47
【问题描述】:

出于调试目的,我使用 __debugbreak() 函数调用。 在 Visual Studio 中调试时,此函数会按预期导致断点。 但在到达断点之前,它会出现一个消息框,“*.exe 已触发断点”。 这个消息框能去掉吗?

【问题讨论】:

    标签: visual-c++ visual-studio-2013 visual-studio-debugging


    【解决方案1】:

    消息框是__debugbreakcompiler 内在行为的一部分。

    MSDN 文章指出:

    在您的代码中产生一个断点,将提示用户运行调试器

    来源:http://msdn.microsoft.com/en-us/library/f408b4et(v=vs.120).aspx

    【讨论】:

    • 你说对了一半。消息框不是内在行为的一部分;当您直接执行__asm int 3 而不使用内在函数时,您会得到完全相同的结果。它实际上是调试器的一部分。当调试器附加到进程时,它首先捕获所有中断并提示您中断或继续执行。我敢肯定,这是一个方便的功能。在调试器之外运行时不会发生这种情况。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多