更上一層樓
VMware 提供培訓和認證,以加速您的進步。
瞭解更多我們在最近釋出的 SpringSource Tool Suite 2.5.1 中包含了一些 Groovy 除錯的重大改進。一直可以使用 Eclipse 的 vanilla 除錯支援來除錯您的 Groovy 應用程式,但由於 Groovy 與 Java 的語言差異及其超程式設計,許多除錯功能的效果不如預期。
此帖子中的所有螢幕截圖均來自一個簡單的 Grails 應用程式,因此此處的除錯功能隱含地利用了動態新增的 Groovy 方法和屬性。
透過增強的 Groovy 除錯支援,“單步進入”命令的工作方式與您期望的完全一致。過去,由於 Groovy 廣泛使用反射和快取的呼叫站點,有時會進入不感興趣的堆疊幀,而可能會跳過感興趣的堆疊幀,這使得除錯有時會令人不愉快。
現在,可以單步進入 Groovy 方法和閉包,忽略所有不感興趣的 Groovy 執行時和框架呼叫
可以在“Groovy -> 偵錯程式 -> 擴充套件除錯支援”首選項頁面中停用此支援
當偵錯程式停留在 Groovy 堆疊幀上時,“顯示檢視”和“表示式檢視”現在可以識別 Groovy 語法,並可以完全訪問 Groovy 動態新增的方法和屬性。
在“顯示檢視”中
在“表示式檢視”中
甚至在編輯器中(透過選擇程式碼段並使用 CTRL-Shift-I 鍵盤快捷鍵)
如果您需要停用此支援,也可以從“Groovy -> 偵錯程式 -> 擴充套件除錯支援”首選項頁面中執行此操作
您在除錯應用程式中可以執行的任何操作都應該可以從“顯示檢視”中執行,除了定義新的類、方法、屬性和閉包。 Groovy 是一種大型語言,並且在不斷發展。可能還有其他語言功能尚未得到支援,但基本功能(包括變數定義、迴圈、條件語句和 gstring 列表和對映文字)都可以在評估中使用。
例如,可以新增 Grails 域類的新例項
並迴圈遍歷集合
Groovy Metaobject Protocol 或 MOP 提供了一種結構化的方式來更改 Groovy 的語義,方法是讓終端使用者控制方法呼叫和屬性訪問。新的 Groovy 除錯支援的核心依賴於 Groovy MOP 進行程式碼評估。運作方式如下:
這使我們幾乎可以完全控制 STS 執行例項中的除錯應用程式。 我們感到驚訝和印象深刻的是,Groovy MOP 足夠強大,可以用於在遠端應用程式上執行 Groovy 指令碼。
如果您有任何意見、功能請求或任何對您不起作用的東西,請 提出一個 jira 問題 或者在 SpringSource Tool Suite 論壇上提及它。