在本地计算机上调试Windows应用商店应用程序

Ale*_*x F 13 c# debugging windows-8 visual-studio-2012 windows-store-apps

我正在尝试使用Local Machine调试器调试Windows 8 C#Store应用程序.所以,我MainPageInitializeComponent调用之后向构造函数添加了一些不正确的行.我尝试了导致DivideByZeroNullReferenceException- 具有相同结果的代码.

所以,我执行"Start Debugging",调试器在这里打破:

#if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
        UnhandledException += (sender, e) =>
        {
            if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break();
        };
#endif
Run Code Online (Sandbox Code Playgroud)

堆栈信息不可用,无法检测错误的位置("输出"窗口中只有第一次机会异常消息给出提示).

我试图DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION在项目预定义符号中定义.这次我收到以下奇怪的消息:" 调试器附加到YourProgram.exe但未配置为调试此未处理的异常 ".

只有在"异常"对话框中选中特定异常类型并且DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION已定义时,我才设法在导致错误的行上中断.

那么,什么是打破违规行的正确方法,就像传统的桌面应用程序调试一样?如果可能,不修改例外列表.什么是DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION恒定的目的是什么?

小智 16

当您启动Visual Studio时,您必须单击"调试",然后单击"选项和设置",然后单击"调试中的常规",再单击"启用我的代码".

  • 这没有解决我的问题,我已经"启用Just My Code"但没有帮助. (8认同)

kim*_*msk 13

它看起来像是一个xaml解析异常.您是否能够查看异常消息并查看错误的位置?

以下是一些示例截图:

在此输入图像描述