1

我正在尝试为我的应用程序创建崩溃报告。当游戏使用调试运行时,获取堆栈跟踪很容易:它包含在崩溃中创建的错误对象中。但是在没有调试的情况下运行时,缺少此信息。

有什么方法可以获取这些信息吗?

4

2 回答 2

0

如果您在调试模式下编译,则必须通过 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()

于 2013-12-12T11:49:48.837 回答
0

您可以在应用的可疑位置使用 try-catch 块。

try {
    ExternalInterface.call('conf', 4);
    ExternalInterface.addCallback('transcodeReqAnswer', analyseTranscodeAnswer);
} catch(er:Error) {
    debugTextField.text = er.getStackTrace();
}
于 2013-04-10T05:27:58.433 回答