【问题标题】:Flash ActionScript - Trace from background WorkerFlash ActionScript - 来自后台 Worker 的跟踪
【发布时间】:2014-06-23 05:43:54
【问题描述】:

是否有可能,或者跟踪是 API 的一部分,无法从后台 Worker 获得?

考虑这段代码:

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");
    }
  }

字符串“不是原始的”没有出现,但是我确实看到 m_worker.state 是“WorkerState.RUNNING”。

一些更新:主线程工作并响应事件,但它似乎在我断开调试器之前后台工作人员不会启动。

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

附言。我正在使用带有最新 FDT 和 Apache Flex 4.12.1 SDK 的 flash 独立调试播放器 13。

【问题讨论】:

  • 你把这段代码放在哪里?也许这部分代码根本没有在工作线程中执行。
  • 例如在 Sprite 主类的构造函数中。当调试器连接时,后台工作人员似乎根本没有启动,并且在我分离调试器的那一刻开始工作。

标签: actionscript-3 flash apache-flex


【解决方案1】:

好的,所以现在的结果是:

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

需要的是:flash 调试播放器(我使用的是 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

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

对我来说,文件的输出开始工作只有在某些 3rd 方工具创建 flashlog.txt 文件后(我使用了 Vizzy),但可能是 flasho n windows 的权限问题8和文件只是可以手动创建。

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

感谢大家的帮助。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 感谢您的建议。我已经尝试过一些类似的方法:在两个线程之间创建了一个 MessageChannel。但是,将调试器附加到调试播放器(实际查看跟踪)后,后台工作人员根本不会开始运行。所以我的主要问题是在不分离调试器的情况下启动后台工作程序。
    • 这仍然是您问题的答案。编辑后,您的问题有所不同。
    • 这仍然不是答案。经过多次测试,我得到了一些中间结果。后台线程 (Worker) 可以毫无问题地生成跟踪,例如,如果使用 flashlog.txt 作为输出。
    • @BotMaster Paul E 的回答是完美的。把你的代码放在这里,这样每个人都会看到它是否有效。投反对票:太宽泛了!
    猜你喜欢
    • 2020-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-11
    • 1970-01-01
    相关资源
    最近更新 更多