2012-07-28 90 views
1

我正在使用Flex SDK中的命令行工具開發AS3應用程序。我的工作流程是:如何檢測Flash運行時錯誤?

  1. 寫代碼
  2. mxmlc
  3. 運行中最喜歡的網頁瀏覽器的SWF文件
  4. 重複

第二步捕獲編譯時錯誤,但對於編譯運行時錯誤和警告?和trace()輸出?我怎麼能看到這個?

我沒有使用任何帶調試功能的IDE。

回答

3

獲取Flash播放器和Firebug for Firefox的調試版本,然後您可以在控制檯中看到跟蹤和錯誤。

當一個運行時錯誤發生時,沒有被異常處理程序捕獲到,你會得到一個彈出窗口告訴你這個錯誤。

爲什麼不能獲得http://www.flashdevelop.org/?它是免費的,它具有調試,分析和所有其他好處,可以從IDE中獲得。

+0

用於FD推薦的+1 – 2012-07-29 01:56:29

+0

我之前使用過FlashDevelop,但我厭倦了重新啓動到Windows。有沒有Linux版本:( – Andreas 2012-07-29 07:43:26

+1

我結束了虛擬化Windows ... – Andreas 2012-07-29 22:38:23

0

Flash Player調試器將trace()的輸出寫入到flashlog.txt文件中。它的位置是硬編碼的,在不同的系統上是不同的。在Linux上,它位於〜/ .macromedia/Flash_Player/Logs/flashlog.txt中。爲了讓調試器實際寫入該文件,您需要另一個文件,mm.cfg,它的位置和名稱再次被硬編碼。它應該在〜/ mm.cfg中。它可能包含許多不同的選項,但您感興趣的是ErrorReportingEnable=1

然後您可以在$ tail -f ~/.macromedia/Flash_Player/Logs/flashlog.txt的文件被寫入時查看進度。

請注意,目錄和文件必須由運行播放器的用戶寫入。如果不是這種情況,Flash播放器不會發出任何警告,並且會默默地失敗。

另請注意,如果您碰巧在Linux上,那麼沒有64位版本的調試器播放器......但是,該播放器在Wine,Windows版本下運行得相當好。

您可以使用SDK中的命令行調試器進行調試。它被稱爲fdb(fdb.exe或Windows上的Apache Flex fdb.bat)。它與gdb接口類似,可以執行斷點,一些運行時代碼評估,反彙編功能,查找堆棧幀及其變量,以及大多數您希望調試器執行的其他內容。我通常從Emacs運行它,但我會想象從Vi [m]或任何編輯器運行它應該不是一個問題...

如果您使用Emacs,它實際上可能將Flymake連接到您鍵入時進行語法檢查的SDK的一部分。你可以在這裏找到更多的信息:http://www.flashdevelop.org/community/viewtopic.php?f=13&t=9238(感謝Philippe)。

1

雖然Flash調試器是一個不錯的選擇。我個人建議Monster Debugger。它是一個優秀的調試器,具有非常直觀的用戶界面,並且具有大量的功能,使調試變得非常簡單。