我們知道,像如圖一這種類的靜態屬性,因爲不屬於類的實例所有,因此調試到這個類的方法內部時,只能通過圖二演示的兩種方式在調試器顯示該屬性的值。而一旦調試到該類方法的外部,通常就只能通過"類名=>屬性名"的方式來顯示靜態屬性值(圖三)。其實還有一種方式,如圖四和圖五所示。
圖一:ABAP類的靜態屬性
圖二:如何在ABAP調試器裏查看類的靜態屬性
圖三:在調試器裏跳出類的方法之後,如何查看靜態屬性
圖四和圖五在調試器的Objects面板裏,手動輸入{C:ZCL_STATIC}, 這裏的ZCL_STATIC替換成其他包含有靜態屬性的類名,回車即可查看。
可能有些朋友覺得這個小技巧沒啥用吧,我以前在調試很多用單例模式(Singleton)實現的框架代碼時經常用。當排錯需要查看一個用單例模式實現的類的多個靜態屬性時,如果用圖三介紹的"類名=>屬性名"的方式,要重複敲很多字符,敲擊鍵盤的時間複雜度爲o(n), n爲靜態屬性的個數。用Object面板這種技巧,敲擊鍵盤的時間複雜度一下子降到o(1), 提高了排錯效率。
要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":