搶先一步
VMware 提供訓練和認證,以加速您的進展。
瞭解更多在最近發佈的 SpringSource Tool Suite 2.5.1 版本中,我們加入了一些針對 Groovy 偵錯的重大改進。一直以來,您都可以使用 Eclipse 針對 Java 的原始偵錯支援來偵錯您的 Groovy 應用程式,但由於 Groovy 的語言與 Java 不同,以及其元編程特性,許多偵錯功能一直未能盡善盡美。
此文章中的所有螢幕截圖均取自一個簡單的 Grails 應用程式,因此此處的偵錯功能隱含地使用了動態新增的 Groovy 方法和屬性。
透過增強的 Groovy 偵錯支援,「步入」指令可完全按照您的預期運作。過去,由於 Groovy 大量使用反射和快取呼叫點,有時會步入不相關的堆疊影格,而可能會跳過相關的堆疊影格,使得偵錯有時成為一種令人不愉快的體驗。
現在,可以步入 Groovy 方法和閉包,忽略所有不相關的 Groovy 執行時期和框架呼叫
可以從「Groovy」->「偵錯器」->「擴充偵錯支援」偏好設定頁面停用此支援
當偵錯器停止在 Groovy 堆疊影格上時,「顯示檢視」和「運算式檢視」現在可以識別 Groovy 語法,並可完整存取 Groovy 動態新增的方法和屬性。
在「顯示檢視」中
在「運算式檢視」中
甚至在編輯器中也是如此(透過選取程式碼片段並使用 CTRL-Shift-I 鍵盤快捷鍵)
如果您需要停用此支援,也可以從「Groovy」->「偵錯器」->「擴充偵錯支援」偏好設定頁面執行此操作
您在偵錯應用程式中可以執行的任何操作,都應該可以從「顯示檢視」中執行,幾乎所有功能都行,除了定義新的類別、方法、屬性和閉包。Groovy 是一種大型語言,而且不斷發展。可能還有其他語言功能尚未受到支援,但基本功能,包括變數定義、迴圈、條件式以及 gstring 清單和 Map 常值,都可以在評估中使用。
例如,可以新增 Grails 網域類別的新執行個體
並迴圈處理集合
Groovy Metaobject Protocol 或 MOP 提供了一種結構化的方式來變更 Groovy 的語意,讓終端使用者可以控制方法調用和屬性存取。新的 Groovy 偵錯支援的核心依賴 Groovy MOP 進行程式碼評估。運作方式如下
這讓我們幾乎可以完全控制 STS 執行中執行個體中的偵錯應用程式。我們感到驚訝和印象深刻的是,Groovy MOP 功能強大到足以用於在遠端應用程式上執行 Groovy 指令碼。
如果您有任何意見、功能要求或遇到任何問題,請提出 Jira 問題,或在 SpringSource Tool Suite 論壇上提及。