Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 释放flash播放器中的StackTrace_Actionscript 3_Stack Trace_Flash - Fatal编程技术网

Actionscript 3 释放flash播放器中的StackTrace

Actionscript 3 释放flash播放器中的StackTrace,actionscript-3,stack-trace,flash,Actionscript 3,Stack Trace,Flash,我在获取错误跟踪方面有问题。 当我在debug player中使用error.getStackTrace()时,它可以正常工作 ReferenceError: Error #1056: РќРµ удается создать свойство asdad РІ starling.display.Stage. at app.views::MachineHeader/onSoundButtonTriggered() [/var/lib/jenkins

我在获取错误跟踪方面有问题。 当我在debug player中使用error.getStackTrace()时,它可以正常工作

ReferenceError: Error #1056: Не удается создать свойство asdad в starling.display.Stage. at app.views::MachineHeader/onSoundButtonTriggered() 
 [/var/lib/jenkins/jobs/.../src/app/views/MachineHeader.as:111] at starling.events::EventDispatcher/invokeEvent()
[/var/lib/jenkins/jobs/.../workspace/src/starling/events/EventDispatcher.as:141] at starling.events::EventDispatcher/dispatchEvent()
[/var/lib/jenkins/jobs/.../workspace/src/starling/events/EventDispatcher.as:112] at starling.events::EventDispatcher/dispatchEventWith()
[/var/lib/jenkins/jobs/.../workspace/src/starling/events/EventDispatcher.as:190] at org.feathers.controls::Button/button_touchHandler()
[/var/lib/jenkins/jobs/.../workspace/src/org/feathers/controls/Button.as:3052] at starling.events::EventDispatcher/invokeEvent()
[/var/lib/jenkins/jobs/.../workspace/src/starling/events/EventDispatcher.as:141] at starling.events::TouchEvent/dispatch()
[/var/lib/jenkins/jobs/.../workspace/src/starling/events/TouchEvent.as:174] at starling.events::Touch/dispatchEvent()
[/var/lib/jenkins/jobs/.../workspace/src/starling/events/Touch.as:231]
但在发布时,玩家stackTrace看起来像:

ReferenceError: Error #1056
代码:

调试播放器:Linux 11.2 发布播放器:PepperFlash 11.9

我做错了什么?如何在release player上获取stacktrace


比你强。

根据Adobe的API参考

“对于Flash Player 11.4及更早版本和AIR 3.4及更早版本,堆栈 跟踪仅在代码在调试器版本中运行时可用 在非调试器中使用Flash Player或空中调试启动器(ADL) 调用此方法将返回null。“


对不起,这是没办法的(

要在release player(11.5+)中启用stacktraces,您必须使用swf version=18编译swf

this.loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, onGlobalErrorsHandler);

private function onGlobalErrorsHandler(e:UncaughtErrorEvent):void {
    if (_errorList[e.errorID]) {
        e.preventDefault();
        return;
    }

    trace(e.error.getStackTrace());
    var data:Object = {};
    data["login"] = AMFService.instance.login;
    data["error_type"] = String(e.error.errorID);
    data["stacktrace"] = e.error.getStackTrace();
    AMFService.instance.sendError("statistics.error_send", data);

    _errorList[e.errorID] = e.error;

    e.preventDefault();
}