如何在Eclipse中调试已编译的Java代码

时间:2009-12-15 06:02:28

标签: java eclipse debugging decompiler

我想知道Eclipse IDE是否有任何解决方案来调试我没有源代码的Java代码,即调试动态反编译代码,逐步执行它等等?我尝试使用JD-EclipseJadClipse,如果我想查看一些类文件,这些插件工作得很好,但是当我调试时,我得到“Source not found”。 - 如何“附加”这些插件以“提供”源?

我的环境:

  • Eclipse 3.5
  • Windows XP(但如果可能,我会寻找跨平台解决方案)

谢谢。

8 个答案:

答案 0 :(得分:15)

我有同样的问题。今天,没有反编译器能够有效地调试编译的Java代码。我正在研究JD-Eclipse。在接下来的3到6个月内,JD-Eclipse的布局应该得到真正的改进。我们将开始调试没有源代码的类,并解决一些棘手的问题。

答案 1 :(得分:13)

我对Jadclipse有很好的经验 - http://jadclipse.sourceforge.net/wiki/index.php/Main_Page - http://jadclipse.sf.net/update有一个更新网站

为获得最佳效果,请使用jad并将其配置为将行号列为注释,这将启用代码在正确行上的输出。这最适合调试会话。

然后将其设置为类的默认视图。有关详细信息,请参阅文档这对我很有用。

答案 2 :(得分:6)

JD-Eclipse主机插件的重新调整片段。这个Eclipse插件使得反编译的代码行号实际上适合于java类文件中的行号。结果,可以在没有源代码的情况下进行调试。 https://sourceforge.net/projects/realignmentjd/

答案 3 :(得分:3)

这个插件应该有所帮助。 JD-Eclipse

在eclipse中打开Window - >偏好 - >一般 - >编辑 - >文件关联 选择* .class文件类型 将它与JD-Eclipse相关联 将其设置为默认值

祝你好运

答案 4 :(得分:3)

您可以使用JD-GUI反编译jar文件并将整批文件保存到源zip文件中,然后将其添加到源搜索列表中(通过配置构建路径)。

JD-GUI的问题在于行号不通,这使调试非常困难,所以你需要

  1. 从反编译的源zip文件中提取源文件
  2. 运行https://bushlife.com.au/groups/python/wiki/7539a/Adjust_line_numbers_in_file.html
  3. 中找到的脚本
  4. 压缩生成的源备份
  5. 将其添加为与java文件关联的源路径 - 在右键单击java项目中的jar文件后使用“配置构建路径”。

答案 5 :(得分:2)

反编译所有类,将所有订购的Java文件放入适当的层次结构(包的目录等),然后通过右键单击jar文件将它们添加为原始jar的源 - > Java源代码附件 - >外部文件夹。

您也可以将它们放在项目的文件夹中(在这种情况下单击工作区)

答案 6 :(得分:2)

适用于我的解决方案是在应用补丁后使用JD-Eclipse:http://java.decompiler.free.fr/?q=node/464

这是jd-eclipse的扩展,它在反编译后重新调整代码。

使用eclipse进行调试时,只需要在类路径中包含jar文件就可以了! 没有必要反编译整个罐子,重新调整或者无论如何......只需调试并开心: - )

以下是如何做到这一点: http://gauchoacomecable.wordpress.com/2011/10/14/eclipse-debug-java-without-source-code-jd-eclipse-and-realignment/

答案 7 :(得分:0)

我已经增强了“Realignment for JD Eclipse”插件,以正确排列枚举和字段,并在我自己的更新站点上与JD Eclipse一起发布:http://mchr3k-eclipse.appspot.com/

有关我的更改的详细信息:http://mchr3k-coding.blogspot.co.uk/2012/07/realignment-for-jd-eclipse.html