无法在Windows 8.1电话设备上收到崩溃cordova应用程序的调试消息

时间:2015-05-22 15:24:21

标签: debugging windows-phone-8.1 visual-studio-2015 visual-studio-cordova

我安装了VS 2015 Enterprise RC,我正在将部署在iOS和Android上的Cordova应用移植到Windows 8.1 Phone / Universal

在进行必要的更改后,我有一个应用程序在设备上显示启动画面后不久崩溃

我在visual studio错误/输出窗口或设备上看不到任何错误消息。该应用程序消失了

任何人都可以提供一种方法来捕获有关VS中设备上的关键应用程序故障的信息,或者用于调试目的吗?

3 个答案:

答案 0 :(得分:1)

根据我的经验,从platform/windows目录调试解决方案更容易,但我不知道这对您的情况是否有帮助。

还有plugin有助于console.log日志记录。

Windows Phone 8.1 / Universal Cordova应用程序中最流行的错误是使用不使用Winstore Jscompat library操作DOM的库。如果您正在使用Angular,Ember,Knockout或类似的东西,它会导致DOM上的第一次操作崩溃。

答案 1 :(得分:1)

我认为这是因为您遇到了当前调试器类型无法捕获的本机异常。在像c#和winjs项目这样的经典windows phone项目中,我们可以设置调试器类型以支持托管和本机。如果您可以通过启用本机调试器获得更多信息,我认为值得尝试。

默认情况下,对于Cordova项目,默认调试器类型仅为“脚本”。我们可以通过启用诊断构建日志找到它:工具 - >选项 - >项目和解决方案 - >改变" MSBuild项目构建输出详细程度"诊断。

然后让我们举个例子来展示我们能找到的东西:

  1. 创建一个新的黑色cordova项目。

  2. 将解决方案平台更改为Windows Phone(通用)并选择"模拟器8.1 WVGA 4英寸512MB"。

  3. 构建解决方案。然后让我们检查输出窗口中的构建日志。

  4. 搜索" debuggertype"在输出窗口中,我们将能够找到以下信息:

    DebuggerFlavor = PhoneEmulator81Wvga4512
    DebuggerType = Script
    DebugSymbols = false
    DebugSymbolsProjectOutputGroupDependsOn =
    DefaultContentType = Default
    DefaultReferenceGroup = Implicit (Apache Cordova)
    DefineCommonReferenceSchemas =
    DefineExplicitDefaults = true
    

    我们可以看到DebuggerType设置为Script。这是继承自MSBuild中的全局设置。您还可以从Diagnostic构建输出日志中找到该文件的内容。

    然后让我们看看我们如何改变它以捕获原生异常。转到项目文件夹并打开.jsproj.user文件。我们可以找到以下设置:

      <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Windows Phone (Universal)'">
        <DebuggerFlavor>PhoneEmulator81Wvga4512</DebuggerFlavor>
      </PropertyGroup>
    

    现在,将其更改为以下将更改调试器类型,您可以在构建日志中验证。

      <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Windows Phone (Universal)'">
        <DebuggerType>Mixed</DebuggerType>
        <DebuggerFlavor>PhoneEmulator81Wvga4512</DebuggerFlavor>
      </PropertyGroup>
    

    然后,您可以再次运行您的应用程序,看它是否会在您的Visual Studio输出窗口中获取任何信息。

答案 2 :(得分:1)

Windows Phone收集转储文件中的所有崩溃数据。在以下位置激活此功能:

  

设置&gt;报告

之后,转储文件将在手机的以下文件夹中创建:

  

的WindowsPhone /电话/文档/调试/

您可以使用Visual Studio打开它们。