我有一个相对复杂的对象,其中包含一个ConcurrentHashMap。在调试器中,我想看到调用.size()方法的结果,但我实际上并不想在我的代码中使用它,也不想将它放入。
Debugger image http://img153.imageshack.us/img153/1695/will.png
上面你可以看到我有什么用,但id喜欢以某种方式调用/看到.size()方法的结果
然而,我可以看到许多对地图和细分等的引用,但它们只是值。
只是想知道它是否可能?
答案 0 :(得分:10)
在调试器中,打开“显示”视图。这将允许您评估您输入的表达式。
请参阅“Scrapbooking您的实时代码”下的http://www.ibm.com/developerworks/library/os-ecbug/。
以下是更详细的文章:http://larsho.blogspot.com/2008/07/my-favorite-eclipse-view.html
答案 1 :(得分:4)
作为在“显示”视图中运行size()方法的替代方法,您只需按“变量”窗口上的“显示逻辑结构”按钮,地图的显示就会变为视图数组。数组的大小是Map的大小。
答案 2 :(得分:0)
我会使用log4j并做一些调试输出:
if (log.isDebugEnabled()) {
log.debug("size: " + myConcurrentHashMap.size());
}
这样。只有在调试日志级别...
时才会调用.size()