我们知道,像如图一这种类的静态属性,因为不属于类的实例所有,因此调试到这个类的方法内部时,只能通过图二演示的两种方式在调试器显示该属性的值。而一旦调试到该类方法的外部,通常就只能通过"类名=>属性名"的方式来显示静态属性值(图三)。其实还有一种方式,如图四和图五所示。
图一:ABAP类的静态属性
图二:如何在ABAP调试器里查看类的静态属性
图三:在调试器里跳出类的方法之后,如何查看静态属性
图四和图五在调试器的Objects面板里,手动输入{C:ZCL_STATIC}, 这里的ZCL_STATIC替换成其他包含有静态属性的类名,回车即可查看。
可能有些朋友觉得这个小技巧没啥用吧,我以前在调试很多用单例模式(Singleton)实现的框架代码时经常用。当排错需要查看一个用单例模式实现的类的多个静态属性时,如果用图三介绍的"类名=>属性名"的方式,要重复敲很多字符,敲击键盘的时间复杂度为o(n), n为静态属性的个数。用Object面板这种技巧,敲击键盘的时间复杂度一下子降到o(1), 提高了排错效率。
本文来自云栖社区合作伙伴“汪子熙”,了解相关信息可以关注微信公众号"汪子熙"。