ActionScript 3.0 的除錯



關於 ActionScript 3.0 除錯程式

Flash 包括不同的 ActionScript 3.0 除錯程式,其運作方式與 ActionScript 2.0 除錯程式稍微有點不同。 ActionScript 3.0 除錯程式只適用於 ActionScript 3.0 FLA 和 AS 檔案。 FLA 檔案必須有將發佈設定設為 Flash Player 9。 當您起始 ActionScript 3.0 除錯工作階段時,Flash 會啟動獨立的 Flash Player 除錯程式版本來播放 SWF 檔案。 Flash Player 除錯程式會在與 Flash 應用軟體視窗不同的視窗中播放 SWF 檔案。

ActionScript 3.0 除錯程式會將 Flash 工作區轉換為除錯工作區,後者會顯示用於除錯的面板,包括「動作」面板及/或 Script 視窗、「除錯主控台」和「變數」面板。 「除錯主控台」會顯示呼叫堆疊,並包含用於逐步執行 Script 的工具。 「變數」面板會在目前範圍中顯示變數與變數值,並可讓您自行更新這些值。

進入除錯模式

開始除錯工作階段的方式會因目前處理的檔案類型而有所不同。 在除錯工作階段期間,如果 Flash 遇到中斷點或執行階段錯誤時,便會中斷 ActionScript 的執行。

當 Flash 起始除錯工作階段時,會將它針對此工作階段所匯出的特殊資訊加入到 SWF 檔案。 此資訊可讓除錯程式提供程式碼中發生錯誤的特定行號。

您可以在「發佈設定」中,將此特殊除錯資訊併入到由特定 FLA 檔案所建立的所有 SWF 檔案中。 如此一來,即使您沒有明確起始除錯工作階段,還是可以對 SWF 檔案進行除錯。 不過,此除錯資訊會使 SWF 檔案稍微變大。

從 FLA 檔案開始進行除錯

 選取「除錯 > 影片除錯」。

從 ActionScript 3.0 AS 檔案開始進行除錯

  1. 當 ActionScript 檔案在 Script 視窗中開啟時,從 Script 視窗上方的「目標」選單中,選取應該和 ActionScript 檔案一起編譯的 FLA 檔。 FLA 檔必須同時在 Flash 中開啟,才會出現在此選單中。
  2. 選取「除錯 > 影片除錯」。

將除錯資訊加入所有由 FLA 檔建立的 SWF 檔之中

  1. 開啟 FLA 檔後,選取「檔案 > 發佈設定」。
  2. 在「發佈設定」對話方塊中,按一下「Flash」索引標籤。
  3. 選取「允許除錯」。

結束除錯模式

 按一下「除錯主控台」中的「結束除錯工作階段」按鈕。

設定和移除中斷點

在 ActionScript 程式碼中加入中斷點,以便中斷程式碼的執行。 在執行中斷後,您可以逐步執行並依行執行程式碼、檢視 ActionScript 的不同區段、檢視變數和運算式的值,以及編輯變數值。

備註: 您不能將中斷點加入 ASC (ActionScript for Communication) 或 JSFL (Flash JavaScript) 檔案中。

設定中斷點

 在「動作」面板或 Script 視窗中,按一下某一行程式碼旁邊的左方邊界,這一行程式碼是您希望中斷點出現的位置。

移除中斷點

 在「動作」面板或 Script 視窗中,按一下要移除的中斷點。

逐步執行程式行

在 ActionScript 的執行因中斷點或執行階段錯誤而中斷後,您可以依行逐步執行程式碼,選擇是要跳入函數呼叫還是要略過。 同時也可以選擇要繼續執行程式碼,而不要逐步執行。

依行跳入程式碼行

 按一下「除錯主控台」中的「跳入」按鈕。

略過函數呼叫

 按一下「除錯主控台」中的「略過」按鈕。

跳出函數呼叫

 按一下「除錯主控台」中的「跳出」按鈕。

繼續一般程式碼執行

 按一下「除錯主控台」中的「繼續」按鈕。

顯示並檢查呼叫堆疊中的 Script

當程式碼的執行在除錯程式中停住時,您可以在「除錯主控台」中檢視呼叫堆疊,並顯示呼叫堆疊中有包含函數的 Script。 呼叫堆疊會顯示目前正在等候執行完成之巢狀函數呼叫的清單。

您可以檢視含有每個函數的個別 Script。

 在「除錯主控台」面板中,於呼叫堆疊中按兩下此 Script 的名稱。

顯示並修改變數值

在「變數」面板中檢視及編輯變數和屬性的值。

檢視變數值

  1. 在「變數」面板中,從「面板」選單中選取要顯示的變數類型。
    • 「顯示常數」會顯示常數值 (擁有固定值的變數)。

    • 「顯示統計資料」會顯示屬於類別的變數,而不會顯示屬於類別實體的變數。

    • 「顯示無法存取的成員變數」會顯示無法由其他類別或命名空間所存取的變數, 包含對命名空間具有受保護、私有或內部屬性的變數。

    • 「顯示其他的十六進位顯示」會在每次顯示十進位值時加入十六進位值。 這項功能主要是用在顏色值上。 0 到 9 的十進位值無法以十六進位值來表示。

    • 「顯示限定名稱」會顯示同時包含套件名稱與類別名稱的變數類型。

  2. 逐層展開 FLA 的物件結構樹狀檢視,直到您看到變數為止。

編輯變數值

  1. 在「變數」面板中,連按兩下變數值。
  2. 輸入變數的新值,然後按下 Enter。 新值會用在後續的程式碼執行階段。

控制編譯器警告

在「編譯器錯誤」面板中控制 ActionScript 編譯器所產生的編譯器警告類型。 當編譯器回報錯誤時,在該錯誤上按兩下,即可瀏覽到導致錯誤的程式碼行。

  1. 選取「檔案 > 發佈設定」。
  2. 按一下「Flash」。
  3. 按一下「ActionScript 設定」按鈕。
  4. 在「錯誤」選項之間進行選取:
    • 「嚴謹模式」會將警告回報為錯誤,這表示如果有這些錯誤存在,就無法成功完成編譯。

    • 「警告模式」會回報額外的警告,這對於找出 ActionScript 2.0 程式碼更新為 ActionScript 3.0 時的不相容問題有很大的幫助。

瀏覽到程式碼中的錯誤

不管是在編譯期間還是執行期間,當 Flash 遇到 ActionScript 程式碼中的錯誤時,都會在「編譯器錯誤」面板中回報錯誤。 從「編譯器錯誤」面板中瀏覽到導致錯誤的程式碼行。

 在「編譯器錯誤」面板中連按兩下該錯誤。

針對遠端 ActionScript 3.0 SWF 檔進行除錯

有了 ActionScript 3.0,您就可以使用 Flash Player 除錯程式的單獨、ActiveX 或外掛程式版本,對遠端 SWF 檔進行除錯,這個版本位於 Flash 安裝目錄/Players/Debug/ 目錄。 然而,在 ActionScript 3.0 除錯程式中,遠端除錯作業僅限於與 Flash 編寫應用程式位於相同 localhost,且使用獨立除錯播放程式、ActiveX 控制項,或是外掛程式進行播放的檔案。

若要允許對遠端檔案進行除錯,啟用「發佈設定」中的除錯功能。 您還可以將檔案連同除錯密碼一起發佈,以確保只有受信任的使用者才能對它進行除錯。

和在 JavaScript 或 HTML 中一樣,使用者也可以在 ActionScript 中檢視用戶端變數。 為了要安全地儲存變數,請將變數傳送到伺服器端應用程式,而非將其儲存在檔案中。 不過,身為開發人員,您可能有其它不想要公開的商業秘密 (如影片片段結構), 就可以使用除錯密碼來保護您的工作。

啟用 SWF 檔案的遠端除錯,並設定除錯密碼

在 ActionScript 3.0 FLA 檔中,無法針對影格 Script 中的程式碼進行除錯, 只有外部 AS 檔案的程式碼可以使用 ActionScript 3.0 除錯程式進行除錯。

  1. 儲存 FLA 檔案。
  2. 選取「檔案>發佈設定」。
  3. 在「發佈設定」對話方塊的 Flash 索引標籤上,選取「允許除錯」。
  4. 關閉「發佈設定」對話方塊,然後選取下列其中一個命令:
    • 「檔案>匯出>匯出影片」

    • 「檔案>發佈」

  5. 將 SWF 檔保留在本機,以便在 localhost 上執行遠端除錯工作階段或是將之上傳到網站伺服器中。

    SWF 檔未包含任何中斷點資訊,因此假如您將檔案上傳到遠端伺服器,將無法逐步執行程式碼。 使用 localhost 來執行此工作。

  6. 在 Flash 中,選取「除錯 > 開始遠端除錯工作階段 > ActionScript 3.0」。

    Flash 會開啟 ActionScript 3.0 除錯程式並等候 Flash Player 除錯程式進行連接。 這時候您有兩分鐘的時間可以啟動 Flash Player 除錯程式。 如果超過兩分鐘,請重複此步驟。

  7. 在 Flash Player 外掛程式、ActiveX 控制項,或是獨立播放程式的除錯程式版本中開啟 SWF 檔。 除錯程式的獨立播放程式位於 Flash 安裝目錄/Players/Debug/ 目錄中。 請勿將檔案連接到另一部機器上,因為這樣一來除錯程式將無法收到任何中斷點資訊。

    當除錯播放程式連接到 Flash ActionScript 3.0 的「除錯程式」面板時,就會開始除錯工作階段。

從遠端位置啟動除錯程式

  1. 如果 Flash 編寫應用程式尚未開啟,請現在開啟它。
  2. 選取「除錯 > 開始遠端除錯工作階段 > ActionScript 3.0」。
  3. 在瀏覽器或單獨的 Flash Player 除錯程式中,從遠端位置開啟已發佈的 SWF 檔。

    如果沒有出現「遠端除錯」對話方塊,請在 SWF 檔案中按一下右鍵 (Windows) 或 Control + 按一下 (Macintosh) 以顯示快顯選單,然後選取「除錯程式」。

  4. 在「遠端除錯」對話方塊中,選取「Localhost」,然後選取要開啟的檔案。

    「除錯程式」中便會出現 SWF 檔案的顯示清單。 如果 SWF 檔案沒有播放,「除錯程式」可能處於暫停狀態,所以請按一下「繼續」開始播放。