在调试我的Winform
程序时,我最近发现,程序会弹出一个显示错误信息的对话框,而不是打破执行错误的源代码行,如下所示:
这对我不好,因为我不知道导致此失败的代码在哪里,你知道为什么我的Visual Studio
调试器的行为如此,我该如何改变它?
答案 0 :(得分:1)
如果您在Non-Debug
模式下运行应用程序,它将不会破坏您的代码,它只会在MessageBox
如果你想抛出异常并指向你的代码,那么你需要在Debug
模式下运行程序。
编辑:如果您已处于调试模式,请尝试以下操作:
步骤1:转到VS IDE中的Debug
菜单
第2步:选择Exceptions
第3步:现在您需要检查Common Language Runtime Exceptions
对话框中的Exceptions
选项。
答案 1 :(得分:0)
我猜你会在你的程序中捕获异常并在这种情况下显示一个消息框。可能还有毯子catch (Exception e)
。您可以使调试器进入任何抛出的异常,即使在Debug>下捕获也是如此。异常。
答案 2 :(得分:0)
您可以显示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");
}