2014-07-26 60 views
2

为了调试目的,我使用__debugbreak()函数调用。 在Visual Studio中进行调试时,该函数会按预期导致断点。 但在到达断点之前,它会显示一个消息框,“* .exe已经触发了一个断点”。 是否有可能摆脱此消息框?摆脱“* .exe触发了断点”-Messagebox

+1

没有 –

回答

0

消息框是__debugbreak编译器内在行为的一部分。

MSDN文章指出:

导致在你的代码中设置断点,当用户将被提示运行调试

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

+0

你是对了一半。消息框不是内在行为的一部分;当你直接执行'__asm int 3'时,你会得到完全一样的东西,而不使用内在的东西。它实际上是* debugger *的一部分。当调试器连接到进程时,它会首先捕获所有中断并提示您中断或继续执行。这是一个方便的功能,我敢肯定。在调试器外运行时不会发生这种情况。 –