1.0 簡介
2.0 已知的問題
2.1 Web 開發環境
2.2 WebSphere Application Server 除錯
2.3 JavaScript 除錯器
2.4 測試和部署工具(伺服器工具)
2.5 Java 開發工具 (JDT) 除錯器
2.7 編譯語言除錯器
2.7 國家語言限制
2.8 SQLJ 除錯器
2.9 Active Script 除錯
JSP 除錯:
- JSP 檔在 WebSphere Application Server 上測試時可以除錯。如果您是在 Tomcat 伺服器上進行測試,除錯器不會停在 JSP 岔斷點。
- 岔斷點可以設定在 JSP 檔中的下列標示內:
- 格式如下的 JSP Scriptlet:<% %>
- 格式如下的 JSP 表示式:<%= %>
- 格式如下的 JSP 宣告:<%! %>
- jsp:useBean、jsp:getProperty 和 jsp:setProperty 標示
- 自訂標示
- 岔斷點不能設定於下列標示組:
- HTML 程式碼
- JSP 指引
- 所有其他標準 JSP 標示(jsp:include、jsp:forward 等)
- 如果您打算將工作區從舊版的 WebSphere Studio 移轉到這個版本,您需要刪除 JSP 岔斷點再重新建立它們。
- EJB Home 方法的逐步除錯模式失敗:如果您利用 WebSphere Application Server 除錯配接器來啟動除錯階段作業,逐步除錯模式不會停止 EJB Home 方法。如果這些方法需要除錯,請使用岔斷點。
- 不支援從 Java 跳回 JavaScript:如果您要能夠從 Java 返回 JavaScript 程式碼,請利用岔斷點。
- 除錯 JSP:
- 逐步除錯不會處理不包含任何執行碼的 JSP。
- 如果您利用 WebSphere Application Server 除錯配接器來啟動除錯階段作業,您不能視察或顯示 JSP 變數和表示式。
- JSP 不支援執行至指定行號。
- JSP 岔斷點的設定可能比較慢。如果您有許多 JSP 岔斷點,請讓除錯器在起始設定時有額外的時間。
- 在 JSP 宣告區塊之靜態變數的岔斷點會無法運作,且可能會導致其他岔斷點問題。
- 不支援 JSP 岔斷點的岔斷點內容,例如讀取計數、條件、選取的執行緒和 VM 暫停原則。
- 不可在除錯器編輯器中設定 Java 岔斷點:Java 岔斷點必須設在 Java 編輯器中,而不是除錯器編輯器中。
- 使用「變更程式檔除錯」視圖蹦現功能表項目:如果您變更利用堆疊框的變更程式檔蹦現功能表項目來顯示的程式檔,就不會在編輯器中開啟新檔案。 如果要解決這個問題,請按一下另一個堆疊框,再重新按一下原始堆疊框。 之後,應該會在編輯器中開啟新檔案。
- 除錯主控台:在「除錯」主控台中,對開放式類型的超鏈結沒有作用。
- 在快速交換之後的堆疊框標籤: 如果在快速取代程式碼之後,部分堆疊框會有如下標籤:
<unknown receiving type>(<unknown declaring type>).<unknown method name>(<unknown arguments>) line: not available <unknown line number>您可以切換至不同的視景,再返回「除錯」視景,以取得正確的標籤。
- 在建構子完成之前,無法檢查 JavaScript 物件:您可以逐步執行建構子,但在建構子完成之前(您已離開建構子),您無法檢查所建構的物件。
- 在頂端堆疊框之下的逐行作業與堆疊框:JavaScript 不支援跳過和跳出最上層堆疊框以外的堆疊框。
- JSP include:不支援在 JSP include 中進行 JavaScript 的除錯。
- 跳出遞迴函數:進行遞迴 JavaScript 函數除錯的使用者會發現,當他們跳出某個遞迴函數時,會回到最上層的執行層次。
- 不可展開含有 writer 或 inputStream 變數的物件:當檢查 JavaScript 物件時,會警告使用者不要展開含有 writer 或 inputStream 變數的物件。這會導致除錯器沒有回應。
- 測試環境:在使用「WebSphere 第 5 版測試環境」時,JavaScript 除錯無法運作。這個問題已由 APAR #PQ73036 修正。
當您決定以除錯模式執行伺服器時,請考量下列事項:
- 伺服器啟動與執行的速度可能會比在非除錯模式下執行來得慢。
- WebSphere Application Server 編譯 JSP 頁面的時間會明顯變長。
請參閱 Java 開發工具 (JDT) 版本注意事項和工作台 (IDE) 版本注意事項,以取得 Java 開發工具已知的問題和限制的相關資訊。 本產品所安裝的主要產品 Readme 會鏈結這些版本注意事項。
- 「找不到 DLL」錯誤:如果啟動編譯的除錯階段作業會產生 Windows 訊息「找不到 DLL」,請移除 LOCPATH 環境變數。
- 在程式碼或程式的清單視圖中找不到現有的字串:當您使用大型程式碼或清單檔時,「除錯器」編輯器中的尋找功能可能會找不到字串。當編輯器中僅載入部分程式碼或清單時,可能會發生這個狀況。
- 「儲存體」視圖顯示不正確的字元:當儲存體視圖格式化成為「十六進位和字元」時,十六進位資料是正確的,但只會正確顯示單位元組編碼的字元。
- 捲動跳過的行數超出預期:在除錯器編輯器中前後捲動時,跳過的行數可能會超出預期。 如果要移至特定行,請利用移至行號動作 (Ctrl-L)。
- 雙向 (BiDi) 限制:當您對以原生字碼頁以外的字碼頁編碼的 JSP 進行除錯時,您不能使用除錯器編輯器。
- 編譯語言除錯器:
- 在單位元組 (SBCS) 系統中,「編譯語言除錯器」不支援含有 0x7F 以上的字元的程式名稱,或傳遞含有這類字元的程式參數。
- 在被除錯端名稱和被除錯端引數中使用 NL 字元不受支援。
當執行熱交換時,如果正在進行 J9 JVM 除錯,且呼叫堆疊中有任何 SQLJ 方法,會出現堆疊中已作廢的方法對話框。 如果是 SQLJ 類別在進行熱交換,類別會重新載入 JVM 中,但在下次呼叫類別中的方法之前,不會執行新程式碼。
如果您要交換 SQLJ 類別,在現行除錯階段作業期間,這個類別的 SQLJ 岔斷點可能無法運作。
HTML Script 應用程式
當您試圖啟動 HTML Script 應用程式除錯階段作業時,可能會發生下列問題:
- 不斷出現「建立除錯目標時,發生錯誤」訊息。
- 當試圖連接至現有的瀏覽器以進行除錯時,除錯器無法取得執行中的瀏覽器清單。
您可以執行下列動作來更正這些問題:
- 先關閉所有執行中的瀏覽器和 Microsoft(R) Windows 檔案總管視窗,再嘗試啟動另一個除錯階段作業。
- 如果上述步驟無法解決問題,就是 mdm.exe 程序已毀損。 請關閉所有執行中的瀏覽器和檔案瀏覽器,再從 Windows(R) 工作管理員終止 mdm.exe。 重新啟動除錯階段作業。
當試圖連接至現有的瀏覽器以進行除錯時,請勿嘗試連接至 WebSphere Studio 工作台內部瀏覽器。 連接至內部瀏覽器來進行除錯會使工作台停止回應,可能會出現非預期的結果。
在 HTML Script 應用程式除錯階段作業期間,可能會發生下列問題:
- 當除錯階段作業暫停時,編輯器沒有強調顯示現行位置。
- 無法安裝岔斷點。
- 如果程式碼在工作台工作區之外,就無法顯示程式碼。
您可以執行下列動作來更正這些問題:
- 瀏覽器可能沒有正常載入頁面。 請在 Microsoft(R) Internet Explorer 中重新整理頁面(您可能需要執行這個動作許多次)。
- 如果重新整理頁面無法更正問題,請終止除錯階段作業。 請關閉所有執行中的瀏覽器和檔案瀏覽器,再重新啟動除錯階段作業。
- 如果上述步驟無法解決問題,就是 mdm.exe 程序已毀損。 請終止除錯階段作業、所有執行中的瀏覽器和檔案瀏覽器。 之後,從 Windows(R) 工作管理員終止 mdm.exe,再重新啟動除錯階段作業。
在 Active Script 除錯期間,工作台說明視窗或內部瀏覽器保持開啟狀態可能會干擾除錯階段作業,造成非預期的行為。
如果頁面部署在伺服器中,設在除錯階段作業之前的岔斷點會被忽略。 如果要設定岔斷點,請暫停除錯階段作業來呼叫程式碼,並在這個暫時頁面中設定岔斷點。 請參閱「設定字行岔斷點」,以取得詳細資料。
「作用中 Script」除錯器會利用 Microsoft(R) Script 除錯器來取得除錯資訊。 如果有 Microsoft(R) Script Debugger 的其他問題,請參閱它的 ReadMe.htm。
Script 主機應用程式
當您試圖啟動 Script 主機應用程式除錯階段作業時,可能會發生下列問題:
- 不斷出現「建立除錯目標時,發生錯誤」訊息。
您可以執行下列動作來更正這個問題:
- 先關閉所有執行中的瀏覽器和 Microsoft(R) Windows 檔案總管視窗,再嘗試啟動另一個除錯階段作業。
- 如果上述步驟無法解決問題,就是 mdm.exe 程序已毀損。 請關閉所有執行中的瀏覽器和檔案瀏覽器,再從 Windows(R) 工作管理員終止 mdm.exe。 重新啟動除錯階段作業。
(C) Copyright IBM Corporation 2000, 2003. All Rights Reserved.