Flash ActionScript - 从后台工作者跟踪

时间:2014-06-23 05:43:55

标签: actionscript-3 flash flex

是否有可能,或者跟踪是API的一部分,而后者是不可用的?

考虑以下代码:

public class Main extends Sprite {
  public function Main(container : DisplayObjectContainer = null) 
  {  
    if(Worker.current.isPrimordial) {
      trace("isPrimordial");
      var m_worker : Worker = WorkerDomain.current.createWorker(this.loaderInfo.bytes);
      m_worker.start();
    }
    else {
      trace("is NOT Primordial");
    }
  }

字符串“is not Primordial”没有出现,但我确实看到m_worker.state是“WorkerState.RUNNING”。

一些更新:主线程工作并且对事件进行了调整,但是在我断开调试器连接之前,看起来像backgroung工作器没有启动。

如果可能的话,如何设置fdb来显示这些日志?

PS。我使用flash独立调试播放器13与最新的FDT和Apache Flex 4.12.1 SDK。

2 个答案:

答案 0 :(得分:2)

好的,现在的结果是:

如果未附加调试器,后台线程(Worker)可以完全没有问题地写入跟踪,例如,如果我们使用flashlog.txt作为输出(输出到文件)。

所需要的是:flash debug player(我使用v.14独立和firefox版本。)

使用文本文件作为输出的设置如下所述: http://helpx.adobe.com/flash-player/kb/configure-debugger-version-flash-player.html http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7fc9.html

这里讨论的现代操作系统(而不是Win95!)上mm.cfg的正确位置: https://forums.adobe.com/thread/1218258

对我来说,只有在flashlog.txt文件由某些第三方工具(我使用Vizzy)创建之后,输出到文件才开始工作,但可能是flasho n windows的权限问题8,文件只需手动创建。

Flash跟踪主题的详细讨论(虽然有点旧,但大部分仍然相关)在这里: See trace() of Flash when running in browser

感谢大家的帮助。

答案 1 :(得分:0)

创建一个静态日志类,将其输出到日志跟踪。在主线程和工作程序中使用此日志类。只使用主线程日志定义,允许从任何地方进行跟踪。