我正在尝试使用本地机器调试器调试 Windows 8 C# Store 应用程序。所以,我在调用后向MainPage
构造函数添加了一些不正确的行。InitializeComponent
我尝试了导致DivideByZero
或NullReferenceException
- 结果相同的代码。
所以,我执行“开始调试”,调试器在这里中断:
#if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
UnhandledException += (sender, e) =>
{
if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break();
};
#endif
堆栈信息不可用,无法检测到错误在哪里(只有输出窗口中的第一次机会异常消息给出提示)。
我试图DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
在项目中定义预处理器符号。这次我收到了以下奇怪的消息:“调试器已附加到 YourProgram.exe 但未配置为调试此未处理的异常”。
只有在“异常”对话框中检查并DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
定义了特定的异常类型时,我才设法打破导致错误的行。
那么,像在传统的桌面应用程序调试中那样,什么是打破违规行的正确方法呢?如果可能,不修改例外列表。DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
常量的目的究竟是什么?