我有VS 2015年企业RC安装和我在移植一个科尔多瓦的应用程序部署在iOS和Android,到Windows 8.1手机的过程/通用无法接收调试消息在Windows崩溃科尔多瓦应用8.1手机设备
进行必要的更改后,我有一个应用程序在启动屏幕显示在设备上后不久即崩溃。
我在visual studio错误/输出窗口或设备上看不到任何错误消息。该应用程序刚刚消失
任何人都可以提供一种方法来捕获有关VS中设备上关键应用程序故障或其他用于调试目的的信息吗?
我有VS 2015年企业RC安装和我在移植一个科尔多瓦的应用程序部署在iOS和Android,到Windows 8.1手机的过程/通用无法接收调试消息在Windows崩溃科尔多瓦应用8.1手机设备
进行必要的更改后,我有一个应用程序在启动屏幕显示在设备上后不久即崩溃。
我在visual studio错误/输出窗口或设备上看不到任何错误消息。该应用程序刚刚消失
任何人都可以提供一种方法来捕获有关VS中设备上关键应用程序故障或其他用于调试目的的信息吗?
我认为这是因为你有一个本地异常,不能被当前调试器类型捕获。在像c#和winjs项目这样的经典Windows手机项目中,我们可以设置调试器类型来支持托管和本机。我认为值得尝试一下,如果你能通过启用本地调试器获得更多信息。
默认情况下,对于Cordova项目,默认的调试器类型仅为“脚本”。我们可以通过启用Diagnostic build log来找到它:Tools-> Options-> Projects and Solutions - >将“MSBuild project build output verbosity”更改为Diagnostic。
然后让我们举个例子来展示一下,我们可以发现:
创建一个新的黑色科尔多瓦项目。
将解决方案平台更改为Windows Phone(通用)并选择“仿真器8.1 WVGA 4英寸512MB”。
构建解决方案。然后让我们在输出窗口中检查构建日志。
在搜索时在输出窗口“debuggertype”,我们就可以找到以下信息:
DebuggerFlavor = PhoneEmulator81Wvga4512
DebuggerType = Script
DebugSymbols = false
DebugSymbolsProjectOutputGroupDependsOn =
DefaultContentType = Default
DefaultReferenceGroup = Implicit (Apache Cordova)
DefineCommonReferenceSchemas =
DefineExplicitDefaults = true
我们可以看到DebuggerType设置为脚本。这是继承自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>
然后,你可以再次运行你的应用程序,看看它是否会得到你的视觉工作室输出窗口的任何信息。
根据我的经验,从platform/windows
目录调试解决方案更容易,但我不知道这是否有助于您的情况。
还有plugin可帮助console.log
记录。
Windows Phone 8.1 /通用Cordova应用程序中最受欢迎的错误是使用不使用Winstore Jscompat library来操作DOM的库。如果您正在使用Angular,Ember,Knockout或类似的东西,它会导致DOM在第一次操作时发生崩溃。
Windows Phone将所有崩溃数据收集到转储文件中。在激活此功能:
Settings > Reports
之后,转储文件在手机上创建以下文件夹:
WindowsPhone/Phone/Documents/Debug/
您可以打开分析它们与Visual Studio。
不错的指令,但后来我无法调试我的应用程序,因为这个错误:'调试器不支持在此平台上同时调试托管代码和本机代码' – Beat