如何调试Microsoft Store软件包?

时间:2019-04-19 17:19:17

标签: visual-studio uwp native-code

我在一个简单的Web应用程序上有了一个简单的UWP客户端。当我使用 Debug 配置运行它时,效果很好;当我使用 Release 运行时,效果很好。但是,当我为Microsoft Store创建一个程序包并在本地部署它时,当我尝试显示特定类别的文档时,它会崩溃。

我试图在未处理的说明上放置一个弹出消息框,但是没有弹出窗口。

我尝试使用Visual Studio调试器附加到它,但是我得到的只是一条消息,提示Visual Studio无法调试本机代码。看来 .Net本机工具链标志是我的应用程序正常工作和崩溃版本之间的唯一区别。

有关如何调试此问题的任何想法/线索?

2 个答案:

答案 0 :(得分:0)

您无法调试发行包,但可以通过访问

中的错误报告来提取异常代码。

<div id="grid"> <div id="canvas-area"> <canvas/> </div> <div id="animator"></div> </div> <button>Change Canvas Height</button>

尝试使用一些诊断工具打开Diagnostic Data ViewerAppCrashView之类的C:\Users\All Users\Microsoft\Windows\WER\ReportArchive文件,并查看异常代码。

答案 1 :(得分:0)

好。这吃了我一整天。事实证明,至少有一类错误甚至未被RTL视为警告,但在.NET本机代码中是未处理的异常。我在控件中使用的样式没有适当的基本控件。用法:

  <gfcontrols:PriceControl DataContext="{Binding Path=LastPrice}"
                           Style="{StaticResource PriceStyle}"/>

这是样式:

  <Style x:Key="PriceStyle"
         TargetType="controls:QuantityControl">
    <Setter Property="Format"
            Value="#,##0.00;-#,##0.00"/>
  </Style>

请注意, QuantityControl 对于 PriceControl 是不可接受的目标类型,因为它们都是 ContentControl 的子级。在Visual Studio调试器中运行此命令不会引起任何警告甚至是提示性消息。但是,一旦我通过Hockey Crash Diagnostics加载了它,我终于可以得到消息:

  

无法将样式应用于TargetType   'GammaFour.Views.Controls.DecimalControl'到类型的对象   'GammaFour.Views.Controls.PriceControl'。 [线:0位置:0]

因此,答案是:如果您希望诊断UWP应用程序错误,则需要熟悉链接中提到的Hockey实用程序,因为显然,本机代码中不允许RTL允许的所有操作