在使用Visual Studio调试应用程序时,当断言失败时是否有办法中断调试器?以前在调试Windows应用程序时,会出现异常并使调试器暂停,但在Smart Device上,会显示一个断言失败的窗口和堆栈跟踪,但我也想看到变量值等信息。
在使用Visual Studio调试应用程序时,当断言失败时是否有办法中断调试器?以前在调试Windows应用程序时,会出现异常并使调试器暂停,但在Smart Device上,会显示一个断言失败的窗口和堆栈跟踪,但我也想看到变量值等信息。
我真蠢,解决方法很简单。当窗口弹出时,在调试器中按暂停 :)
false
作为condition
参数的值调用该方法将显示一个对话框,提供三个选项:“中止”,“重试”和“忽略”。选择“重试”将在调试器中中断(类似于调用Debugger.Break()
)。根本不需要涉及异常处理;Assert()
方法与异常处理完全无关,并且在调试器中断Assert()
涉及完全不同的机制。 - Peter Duniho当断言失败时,似乎可以附加调试器以查看其他详细信息 - 请参阅此文章:http://blogs.msdn.com/b/davidklinems/archive/2005/08/29/457847.aspx。它相当过时,但可能仍然适用。
调试->窗口->异常设置
。
在Win32 Exceptions
下添加一个新的异常。
输入错误代码0xE3530001
,并给出一些描述。
或者,即使您选择<不在此列表中的所有Win32异常>
,它也可以正常工作。
Visual Studio现在将在任何本机单元测试断言(Assert::IsTrue, Assert::IsFalse等)失败时中断。附言: @Darrel Hoffman的回答对于C#单元测试已经足够,但是对于原生C++需要一些额外的步骤,因此我的回答可能对那些像我一样为原生用例而偶然发现这个问题的人有所帮助。
参考资料: