UWP javascript 崩溃
Posted
技术标签:
【中文标题】UWP javascript 崩溃【英文标题】:UWP javascript crashes 【发布时间】:2020-11-05 21:03:33 【问题描述】:我在 VS2017 上使用 UWP javascript 应用程序。每次出现 javascript 异常时,应用程序都会崩溃。可重现的步骤是 1.打开VS2017 2. 从已安装的模板菜单中选择 Javascript 3.选择空白应用(通用窗口)
现在在JS项目里面,写可以异常的代码,例如:
var t;
console.log(t.length) //t is undefined, so t.length will cause an error
我的问题如下:
-
有没有办法像 ios 和 android 那样避免这些崩溃
我们在哪里可以找到这些故障转储。我已使用 URL (https://docs.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps?redirectedfrom=MSDN) 启用故障转储。但我只能本机/托管崩溃(如 C++、C#)而不是 javascript 崩溃
【问题讨论】:
【参考方案1】:您可以尝试创建WinJs App,提供应用程序的生命周期管理WinJS.Application
,提供onerror事件处理应用程序中未捕获的错误。
你可以在这里处理事件,并通过return true
的方式告诉应用你已经处理了异常,那么应用不会终止。
var app = WinJS.Application;
app.onerror = function (args)
console.log(args.detail.error);
return true;
;
【讨论】:
感谢 Richard!,这对我的示例项目很有用。将尝试在我的实际工作中使用它。添加这个是否意味着,UWP 不会因所有 JS 异常而崩溃,并且无需查看为这些异常生成的崩溃日志(如果有)。 您好,应用崩溃的原因不仅仅是未捕获的错误。全局监听onerror
事件的主要目的是捕捉错误并进行处理。应分析和修复应用程序运行过程中出现的错误,这有助于创建运行良好的程序。
好的,onerror 处理程序肯定是我处理异常的地方。但我想知道的是,当这种未处理的异常发生时,我永远无法在用户模式转储中检索堆栈跟踪。那是我的问题。还是谢谢
@RichardZhang-MSFT - 是什么导致了这次崩溃?我在其他使用 JS 运行时的设备上看不到这个?这似乎非常特定于 UWP (JS)。
在我的情况下没有帮助,如果发生任何 javascript 错误,整个发布应用程序仍然会崩溃。当调试错误是由 onerror func 发现但它仍然关闭应用程序时以上是关于UWP javascript 崩溃的主要内容,如果未能解决你的问题,请参考以下文章
UWP Application Insights 没有崩溃的调用堆栈