是否有可能,或者跟踪是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。
答案 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)
创建一个静态日志类,将其输出到日志跟踪。在主线程和工作程序中使用此日志类。只使用主线程日志定义,允许从任何地方进行跟踪。