2010-05-24 43 views
2

在Eclipse中我發起使用以下Macrodef從ANT嵌入的SWF的HTML頁面啓用控制檯輸出EXEC Ant任務

<macrodef name="runhtml"> 
    <attribute name="url" /> 
    <attribute name="browser" default="${app.browser.firefox}" /> 
    <sequential> 
     <exec 
     executable="open" 
     vmlauncher="true" 
     spawn="false" 
     failonerror="true"> 
     <arg line="-a '@{browser}'" /> 
     <arg line="@{url}" /> 
     </exec> 
    </sequential> 
</macrodef> 

儘管該SWF包含痕跡的事實,我沒有得到它們在控制檯中的任何輸出。什麼可能導致這個?

回答

2

爲了從Flash獲取跟蹤,您需要運行Flash調試器(FDB)。幸運的是它帶有Flex SDK。 (http://www.adobe.com/devnet/flex/flex-sdk-download.html)

這是一個示例任務,我在Ant中使用它來啓動Flash調試器,該調試器將啓動您的瀏覽器,因爲目標是一個HTML文件。如果目標是SWF文件,那麼它只會在獨立的FDB窗口中運行。

<target name="launch-browser"> 
    <echo file="${basedir}/build/.fdbinit">run file://${outputdir}/swf/index.html 
continue</echo> 
    <exec executable="${sdk.flex}bin/fdb" spawn="false" dir="build"> 
     <arg line="-unit"/> 
    </exec> 
    </target> 

該任務將首先編寫一個名爲.fdbinit的文件,其中包含啓動時fdb將運行的命令。然後它啓動fdb與-unit以確保它保持正確的連接到螞蟻生成器(我實際上不是100%,但它是必需的)。這將爲您提供瀏覽器以及終端窗口中的跟蹤(也是實際的調試器控件)。

-

另外,使用原來的macrodef,如果你有你的機器上安裝Flash調試播放器;您可以通過編輯mm.cfg文件並設置TraceOutputFileEnable和TraceOutputFileName選項,將Flash Player配置爲將跟蹤寫入文件。

此文件位於/ Library/Application Support/Macromedia on OSX上。對於mm.cfg中

相關的和額外的文檔: http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7fc9.html

+1

優秀的答案。可惜我還沒有2年前使用過Flash;) – Undistraction 2012-07-11 06:15:49

0

我有完全相同的問題。錯誤消息被回顯到控制檯,但信息消息不是。我迄今爲止唯一找到的解決方案是將自己的回聲添加到宏定義文件

0

看來唯一的辦法,也自動執行它,是使用.fbinit由伯努瓦形容,但把每個命令在另一條線路:

<echo file="${BUILD.dir}/.fdbinit">run file://${outputdir}/swf/index.html 
    continue</echo>