如果這個Flash能直接自己運行,例如Air或者簡單不依賴於外部網頁的flash,當然非常容易調試。直接F11嘛~~~
但是,如果這個Flash要依賴於外部環境才能運行,那該怎么調試呢?
核心辦法:
1、設置默認的瀏覽器為CMD(或者一些肯定無法運行Html的程序)
這里有一個細節要注意:
例如Test2是運行html,那么指向cmd來調試的話,builder就會卡在等待調試連接狀態中。但如果是運行swf,那么指向cmd的話,是無效的,因為cmd會自動啟動flash player來播放。
2、在外部環境運行該flash(例如利用Flash cs把flash發布到目標目錄、或者遷移到目標目錄,或者用fiddler替換)
這時候,會自動跟flash builder連接起來,如果沒有連接,可能有三個原因:
——swf不是debug版的(Flash CS有這個發布選項)
——flash player不是debug版的(player自動升級后就變普通版了)
——swf沒有被實際執行到
此時只要在builder中對as文件打斷點即可,由於debug版的swf,帶上了調試信息,builder會在對應斷點位置中止flash執行。
當然,只是為了看看trace信息也可以這么做的~~~
神奇的事:可以用一個完全無關的工程啟動調試等待(例如Test2),然后在目標工程中打斷點,連接成功后,斷點一樣可以生效。
其實也不神奇了,運行Test2只是為了讓builder進入調試等待狀態,實際上Test2是沒有被運行到的。而連接之后,builder接收到的都是我們真正要調試的swf發來的調試信息,也就是對應到哪個文件哪一行這樣的信息。
這個過程其實跟Flash CS調試技巧是同一個原理。
注意事項:
運行過程中,需要調試的程序必須是最早被執行的debug版swf!!否則會被其他swf占了這個連接
