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

C# 在本地计算机上调试Windows应用商店应用程序,c#,debugging,windows-8,visual-studio-2012,windows-store-apps,C#,Debugging,Windows 8,Visual Studio 2012,Windows Store Apps,我正在尝试用本地机器调试器调试Windows8c#Store应用程序。因此,在调用InitializeComponent之后,我在MainPage构造函数中添加了一些不正确的行。我尝试了导致DivideByZero或NullReferenceException的代码,结果相同 因此,我执行“启动调试”,调试器在此中断: #if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION Unhandl

我正在尝试用本地机器调试器调试Windows8c#Store应用程序。因此,在调用
InitializeComponent
之后,我在
MainPage
构造函数中添加了一些不正确的行。我尝试了导致
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
堆栈信息不可用,无法检测哪里有错误(只有输出窗口中的第一次机会异常消息给出提示)

我试图在项目预处理器符号中定义
禁用\u XAML\u生成的\u中断\u未处理的\u异常
。这一次,我收到了以下奇怪的消息:“调试器已附加到YourProgram.exe,但未配置为调试此未处理的异常。”

只有在“异常”对话框中选中特定异常类型,并且定义了
禁用\u XAML\u生成的\u中断\u ON\u未处理的\u异常
时,我才设法中断导致错误的行


那么,像在传统的桌面应用程序调试中那样,什么是打破这一令人不快的界线的正确方法呢?如果可能,不修改例外列表。而
DISABLE\u XAML\u GENERATED\u BREAK\u ON\u UNHANDLED\u EXCEPTION
constant的确切目的是什么呢?

它看起来像是一个XAML解析异常。您是否能够查看异常消息并查看错误所在

以下是一些示例屏幕截图:


当您启动Visual Studio时,必须先单击“调试”,然后单击“选项和设置”,然后单击“调试”中的“常规”,然后单击“仅启用我的代码”。

在调试之前,在“调试/Windows/异常设置”中启用“公共语言运行时异常”可能会有所帮助。 VisualStudio现在将在出现实际错误时中断


Put
System.Diagnostics.Debugger.Launch()在引发异常之前。这将启动调试器,以便您可以单步执行并查看问题所在。@Jack Hughes-它会改变调试器的行为,但我正在尝试学习如何在未知位置调试错误。无法添加
调试器。在程序的每一行之前启动
。这是绝对正确的调试器,应该被相应地接受。这并没有解决我的问题,我只检查了
启用了我的代码
,但没有帮助。错过了这个。谢谢