很长一段时间以来,我一直在寻找如何用Java调试类文件。
例如: - 考虑下面的代码snipet。
Map map = new HashMap();
map.put("1","A");
map.put("2","B");
现在,如果我想了解put的内部工作,那么它应该重定向我将方法放在HashMap类中。 我在我的日食中安装了反编译器。 我将断点设置为put(),但编译器直到此时才会出现。 它会跳过方法的内部工作,直接指向我定义的下一行。
如果有调试类文件
,请提供帮助答案 0 :(得分:1)
要使用断点调试核心/ JDK类的执行,您需要添加这些类的源代码 对于最新版本的Java,在解压缩/安装JDK之后, 您将在JDK文件夹的根目录中找到一个存档,例如Windows JDK的src.zip。
确定此文件后,通过在Eclipse首选项的已安装JRE部分中配置源,使其可在任何Eclipse项目中访问:
以下是截取相关信息的屏幕截图:
答案 1 :(得分:0)
除了由davidxxx发布的设置之外当处于调试模式并且执行到达您的调试点时,请记住使用"步入"而不是"跨过"。 "进入"然后会进入.put()方法。
答案 2 :(得分:0)
你不需要一个反编译器,而不是JDK中的类。试图使用一个甚至可能会导致你的问题。通常,您所要做的就是确保您的Installed JREs首选项页面包含JDK,并且您使用它启动Java应用程序,而不是JRE。 JDK的源位置是众所周知的,因此应该自动找到,JDK的.class文件包含调试信息,以便在步进时向调试器公开字段名称和局部变量。