除錯 Java Bean 的進階選項

在正常開發期間,您不必考慮每一個視覺化編輯器實例所用的 VM。不過,進階使用者可以配置工作台,將傳送至 VM 的 System.outSystem.err 的任何訊息寫入工作區的 .metadata 目錄中的 .log 檔案。

用來執行 Java Bean 的虛擬機器 (VM) 和執行工作台的 VM 不相同。視覺化編輯器的每一個實例會建立個別的 VM。這個 VM 的類別路徑設為專案的 Java 建置路徑中的項目。當視覺化編輯器已開啟時,如果 Java 建置路徑變更,則任何已開啟的編輯器必須關閉再重開,才能反映已更新的建置路徑。

工作台啟動時,可指定 -DEBUG 選項來指向文字檔:

-DEBUG file:/c:/temp/options.txt

除錯檔包含了視覺化編輯器所讀取的項目。如果檔案包含下列這一行,則任何傳送至 System.outSystem.err 的訊息會顯示在主控台:

org.eclipse.jem.proxy/remote/debug/vmtraceout=true

除了從視覺化編輯器所用的 VM 來顯示主控台輸出,您也可以在除錯模式下啟動視覺化編輯器和執行遠端除錯。 這種作法未達最佳化,在以後的視覺化編輯器版本中可能改變。不過,為顧及您可能需要在設計時執行 Java Bean 除錯,仍然提出說明。 若要執行遠端除錯,您需要執行兩個工作台:一個含有您要除錯的 Java Bean,另一個可執行 Socket 遠端除錯。 第二個工作台可在相同機器或不同機器上執行。若要讓視覺化編輯器的 VM 啟用除錯功能,-DEBUG 檔案必須包含這一行:

org.eclipse.jem.proxy/remote/debug/debugvm=true

視覺化編輯器每次啟動 VM 時,將詢問您是否要以除錯模式啟動。

以視覺化編輯器來開啟 Test 專案的 HelloFrame.java 類別時會出現上一個對話框。如果選取「是」,或在主控台輸入 Y 並按 Enter 鍵,則會在暫停模式下以 -Xdebug 並使用 Socket 連接器來啟動 VM。也會配置可用的埠。之後,會告訴您它的號碼。

下一個步驟是將遠端除錯器連接到埠號 7078。遠端除錯器連接時,執行視覺化編輯器的工作台實例會暫停,所以,您必須從另一個應用程式中使用除錯器。 如果另一個應用程式是工作台的另一個實例,您可以利用功能表選項除錯 > 除錯,建立新的「遠端 Java 應用程式」配置,即可開始執行遠端除錯。

輸入先前寫入 stdout 的埠號,在此為 7078。如果除錯器在不同的機器上,則在主機欄位中,請輸入正在除錯的工作台所在的機器 IP 位址。 若要啟動遠端除錯器,請按一下除錯,然後在正在除錯的工作台的 stdin 主控台輸入 y

除了提示您對視覺化編輯器的每一個實例所用的 VM 除錯,也會出現訊息來提示您對專案本身除錯:

您要在除錯模式下啟動遠端 vm(專案 (Test)-Beaninfo)嗎(輸入 Y 或 N):

這適用於內部檢查所用的和執行 java.beans.Introspector 的 VM,且因為不指定特定的 java 程式檔名稱,並不同於視覺化編輯器的 VM。 專案內的 Java Bean 第一次要求任何 Bean 資訊時會啟動這個 VM,且在專案開啟期間持續有效。 藉由在此專案上除錯,您可以在對 Java Bean 進行內部檢查的同時,逐步執行和分析 BeanInfo 類別的任何程式碼。 每一個專案的每一個 Java Bean 類別會進行一次內部檢查。 為了提高效能,結果會保留在快取中。需要清除專案保留的 BeanInfo 資訊快取時,只要從蹦現功能表中關閉開啟專案即可。

相關概念
Java Bean 異常狀況
相關作業
將視覺化類別當做 Java Bean 或應用程式來執行
配置選項來執行 Java Bean 或應用程式
視覺化 Java Bean 或應用程式除錯
測試和部署 Applet

(C) Copyright IBM Corporation 1999, 2004. All Rights Reserved.