[英]How can I change “Break When an Exception is Thrown” debugger behaviour from code
[英]Debugger does not break the code when exceptions are thrown
调试Winform
程序时,我最近发现,该程序不会弹出破坏性能的源代码行,而是会弹出一个对话框,显示错误消息,如下所示:
这对我不利,因为我不知道导致此失败的代码在哪里,您知道为什么我的Visual Studio
调试器会表现为这种行为,以及如何更改此行为?
如果您在Non-Debug
模式下运行应用程序,则不会破坏您的代码,它只会在MessageBox
显示错误消息
如果要抛出异常并精确指向引发异常的代码,则需要在“ Debug
模式下运行程序。
编辑:如果您已经处于调试模式,请尝试以下操作:
步骤1:在VS IDE中转到“ Debug
菜单
步骤2:选择Exceptions
步骤3:现在,您需要在“ Exceptions
对话框中选中“ Common Language Runtime Exceptions
选项。
我想您会在程序中捕获异常,并在这种情况下显示一个消息框。 可能是一针见血catch (Exception e)
。 您可以使调试器闯入任何引发的异常,即使在Debug> Exceptions下也是如此。
您可以显示StackTrace
而不是Message
,其中包含对导致异常的调用的深入分析。
您可以这样显示您的消息:
try
{
// some code that throws an exception
}
catch()
{
StringBuilder sb = new StringBuilder();
sb.AppendFormat("Message: {0}", e.Message);
sb.AppendLine();
sb.AppendLine();
sb.AppendFormat("StackTrace: {0}", e.StackTrace);
MessageBox.Show(sb.ToString(), "Error");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.