我想在代码的任何函数中查看堆栈跟踪,因此我做了类似的事情来调用它并打印堆栈跟踪:
public function PrintStackTrace() {
try {
throw new Error('StackTrace');
} catch (e:Error) {
trace(e.getStackTrace());
}
}
我想知道是否还有其他方法可以做到这一点。在某些地方,Error 类创建了堆栈跟踪,但也许 ActionScript 3.0 没有这样做,所以也许这是不可能的,但我想知道。
Thanks!
据我所知,使堆栈跟踪可用于您自己的代码的唯一方法是通过获取堆栈跟踪() http://livedocs.adobe.com/flex/3/langref/Error.html#getStackTrace()Error 类中的方法,就像您已经在做的那样。不过,为了回答您问题中的示例,我要提到您实际上不必抛出错误 - 您只需创建它并调用它的方法即可:
var tempError:Error = new Error();
var stackTrace:String = tempError.getStackTrace();
另外,正如文档所述,这仅适用于 Flash Player 的调试版本,因此您可以将此功能包装在 if 块中,以检查功能.isDebugger http://livedocs.adobe.com/flex/3/langref/flash/system/Capabilities.html#isDebugger如果你想。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)