我正在尝试为我的应用程序创建崩溃报告。当游戏使用调试运行时,获取堆栈跟踪很容易:它包含在崩溃中创建的错误对象中。但是在没有调试的情况下运行时,缺少此信息。
有什么方法可以获取这些信息吗?
我正在尝试为我的应用程序创建崩溃报告。当游戏使用调试运行时,获取堆栈跟踪很容易:它包含在崩溃中创建的错误对象中。但是在没有调试的情况下运行时,缺少此信息。
有什么方法可以获取这些信息吗?
如果您在调试模式下编译,则必须通过 ExternalInterface 将参数传递给 javascript。然后您应该能够从浏览器的控制台输出中看到堆栈跟踪。
例子:
flash.system.Security.allowDomain(sourceDomain)
ExternalInterface.call("print", error.getStackTrace());
在 JavaScript 中应该有一个函数
function takeLog(string) {
console.log("stacktrace: " + string);
}
在非调试模式下,getStackTrace() 函数返回 null。
更多信息在官方文档 ExternalInterface.call() , getStackTrace()
您可以在应用的可疑位置使用 try-catch 块。
try {
ExternalInterface.call('conf', 4);
ExternalInterface.addCallback('transcodeReqAnswer', analyseTranscodeAnswer);
} catch(er:Error) {
debugTextField.text = er.getStackTrace();
}