Flashbug是一款基於FireBug的Firefox外掛程式,這給利用Flex SDK開發程式的人帶來了便利。以前只能用FDB命令列來調試,現在有了Flashbug就更直觀了。
安裝Flashbug也非常方便,不過要先給Firefox安裝FireBug外掛程式,還得給Firefox安裝Debug版本的Flash播放器。
在實際操作中還要注意兩點:
一、在編譯產生swf檔案時,要輸出成debug版本的檔案,如下命令:
D:\flex4\bin\mxmlc.exe -debug=true --strict=true main.mxml注意裡面-debug=true,加了這一段就能輸出debug版本的swf檔案。
二、要把產生的swf檔案嵌入到HTML檔案中,不能用瀏覽器直接開啟swf檔案,否則Flashbug會失效。
Flashbug的使用很簡單,開啟FireBug,切換到Flash Console標籤,在Trace Log裡就能看到在Flash檔案中通過trace方法輸出的資訊,還能查看Shared Objects的資訊。
但Flashbug只能輸出字串資訊,當要輸出類型為Object對象的資訊時,它只會輸出[object Object]。如果仍然想查看Object對象的資訊,就要用到ActionScript中的ExternalInterface方法,通過這個方法來調用FireBug的console.log命令,輸出對象的資訊,這和調試JavaScript的方式是一樣的。下面為執行個體代碼:
var newObj:Object = new Object();newObj.url = 'julabs.me';flash.external.ExternalInterface.call("console.log",newObj);flash.external.ExternalInterface.call("console.log",['aa','bbb','ccc']);
Flashbug一個非常有用的功能就是能夠查看AMF資訊,查看方法和AJAX的方法一樣,在FireBug中切換到網路標籤,在所有欄中尋找Flash請求的地址。點擊這個地址,你會發現下面多出了一個AMF標籤,點擊它就能查看AMF資訊了。如所示:
另外還有一個基於FireBug的外掛程式——FlashFirebug,功能更強大,但使用比較複雜。