在Visual Studio中,每当我遇到File IO异常时,我都会看到一个全局未处理的异常,如下所示:
System.IO.FileNotFoundException: The system cannot find the file specified.
但是它没有说明它试图访问的文件,或者任何其他可以帮助我找到代码中调用此文件访问权限的信息。我已经完成了很多在线搜索并尝试查看调用堆栈,但我无法找到一种简单的方法来调试它,除了在任何地方设置断点并尝试进入异常发生的确切行
我是Visual Studio的新手,我想知道人们是否有关于如何更好地调试它的建议。我确信这对经验丰富的Visual Studio用户来说是小菜一碟!
我正在用C#/ C ++编写并使用Visual Studio 2013 Ultimate。
更新的 我的错误,我以为我继承了一些全局未处理的异常代码,但事实证明它是App.g.i.cs中自动生成的代码:
#if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
UnhandledException += (sender, e) =>
{
if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break();
};
#endif
答案 0 :(得分:2)
这些步骤适用于VS 2010 - 如果在新版本中不相同,我希望它非常相似。
在Visual Studio中,请转到:
现在,以调试模式运行您的代码。
Studio会在抛出异常时提醒您。这是它的外观截图。在该窗口中,您可以单击查看详细信息以图形方式浏览异常信息。
这非常适合在您的计算机上进行调试 - 我一直都在使用它。但是,您应该有一个策略(例如,良好的可配置日志记录),以防您需要在其他人的计算机上调试这些类型的信息。
答案 1 :(得分:1)
只需查看堆栈跟踪,就会显示异常来自代码的位置。这应该会给你一个关于它可能是哪个文件的大提示。
尝试显示ex.ToString()
以查看整个堆栈跟踪。