c# - 在 ARM 设备上访问设置面板时,Windows 8.1 应用程序崩溃。如何找到来源?

标签 c# windows-store-apps windows-rt

我正在处理 Windows 8.1 应用商店项目并使用以下代码将一些条目添加到设置 Pane :

protected override void OnWindowCreated(WindowCreatedEventArgs args) {
    SettingsPane.GetForCurrentView().CommandsRequested += OnCommandsRequested;
}

private void OnCommandsRequested(SettingsPane sender, SettingsPaneCommandsRequestedEventArgs args) {
    try {
        args.Request.ApplicationCommands.Add(new SettingsCommand("Setting1", "Setting1", (handler) => ShowSetting1()));
        args.Request.ApplicationCommands.Add(new SettingsCommand("Setting2", "Setting2", (handler) => ShowSetting2()));
        args.Request.ApplicationCommands.Add(new SettingsCommand("Setting3", "Setting3", (handler) => ShowSetting3()));
        args.Request.ApplicationCommands.Add(new SettingsCommand("Setting4", "Setting4", (handler) => ShowSetting4()));
        args.Request.ApplicationCommands.Add(new SettingsCommand("Setting5", "Setting5", (handler) => ShowSetting5()));
        args.Request.ApplicationCommands.Add(new SettingsCommand("Setting6", "Setting6", (handler) => ShowSetting6()));
        args.Request.ApplicationCommands.Add(new SettingsCommand("Setting7", "Setting7", (handler) => ShowSetting7()));

        // Just added
        args.Request.ApplicationCommands.Add(new SettingsCommand("Setting8", "Setting8", (handler) => ShowSetting8()));
    }
    catch (Exception ex) {
        LogExceptionAsync("CommandsRequested Exception", ex);
    }
}

当我只使用前 7 个设置时,一切正常。但是在我添加 Setting8 之后,一旦我尝试访问设置 super 按钮,应用程序就会崩溃。魅力与加载指示器一起显示,表明正在加载项目。然后应用程序关闭。

没有引发异常,因此 catch 子句没有捕获任何东西。

如果我注释掉应用程序运行时没有任何问题的任何设置。因此,似乎设置没有问题,但它们的数量没有问题。

在 x64 或 x84 下运行时没有这样的问题。只有 ARM 版本显示此问题。

Windows 事件日志显示有关崩溃的两个条目:

Information 16.04.2014 11:11:18 Windows Error Reporting    1001   None
Error       16.04.2014 11:11:10 Application Error          1000   (100)

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Windows Error Reporting" />
    <EventID Qualifiers="0">1001</EventID>
    <Level>4</Level>
    <Task>0</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2014-04-16T09:11:18.000000000Z" />
    <EventRecordID>4361</EventRecordID>
    <Channel>Application</Channel>
    <Computer>Surface2</Computer>
    <Security />
  </System>
  <EventData>
    <Data>98817018907</Data>
    <Data>5</Data>
    <Data>MoAppCrash</Data>
    <Data>Not Available</Data>
    <Data>98813601058</Data>
    <Data>Company.App_1.0.1.0_arm__q6cg89asqnk9m</Data>
    <Data>praid:App</Data>
    <Data>1.0.0.0</Data>
    <Data>534e4900</Data>
    <Data>combase.dll</Data>
    <Data>6.3.9600.16521</Data>
    <Data>52e87dc8</Data>
    <Data>8000000b</Data>
    <Data>00071dad</Data>
    <Data>
    </Data>
    <Data>
C:\Users\xx_000\AppData\Local\Temp\WER202B.tmp.WERInternalMetadata.xml
C:\Users\xx_000\AppData\Local\Temp\WER2414.tmp.appcompat.txt
C:\Users\xx_000\AppData\Local\Temp\WER2482.tmp.dmp
C:\Users\xx_000\AppData\Local\Temp\WER2956.tmp.WERDataCollectionFailure.txt</Data>
    <Data>C:\Users\xx_000\AppData\Local\Microsoft\Windows\WER\ReportArchive\AppCrash_Company.M_b0e4a8876aeb86cdf32abbd585ad11b7189a8480_e874570f_cab_163f3de4</Data>
    <Data>
    </Data>
    <Data>0</Data>
    <Data>0c7cc9a5-c547-11e3-932e-281878576a56</Data>
    <Data>8</Data>
    <Data>4321453f2ef12cbd410b2f7a3de271a8</Data>
  </EventData>
</Event>

临时文件夹中的文件不存在。错误报告的路径是正确的,但报告只包含如上所示的相同数据。

这很不寻常,没有抛出任何异常,应用程序只是关闭了。知道问题的根源是什么以及如何处理吗?

最佳答案

关于c# - 在 ARM 设备上访问设置面板时,Windows 8.1 应用程序崩溃。如何找到来源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23106130/

相关文章:

xaml - listview 绑定(bind) selectedItems

c# - 在动画中使用时模糊的文本 block

c# - 列表框总是返回 0

c# - 如何在 Linq to SQL 中确定记录是否已成功添加?

c# - 如何确定互联网连接是否可用?

gdi - Win7/8中的DWM+GDI

windows-store - 如何在没有商店的情况下将 Metro 应用程序部署到 Windows RT 设备

Win RT 上的 Java 支持

c# - Dapper 中的映射实体

c# - C# 中是否有非唯一键排序列表泛型集合?