在正常開發期間,您不必考慮每一個視覺化編輯器實例所用的 VM。不過,進階使用者可以配置工作台,將傳送至 VM 的 System.out 或 System.err 的任何訊息寫入工作區的 .metadata 目錄中的 .log 檔案。
用來執行 Java Bean 的虛擬機器 (VM) 和執行工作台的 VM 不相同。視覺化編輯器的每一個實例會建立個別的 VM。這個 VM 的類別路徑設為專案的 Java 建置路徑中的項目。當視覺化編輯器已開啟時,如果 Java 建置路徑變更,則任何已開啟的編輯器必須關閉再重開,才能反映已更新的建置路徑。
工作台啟動時,可指定 -DEBUG 選項來指向文字檔:
-DEBUG file:/c:/temp/options.txt
除錯檔包含了視覺化編輯器所讀取的項目。如果檔案包含下列這一行,則任何傳送至 System.out 或 System.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 資訊快取時,只要從蹦現功能表中關閉再開啟專案即可。