如何在eclipse里断点调试jar包里的代码?

前提:

1.我只有jar,通过反编译可以看到jar中代码。
2.我没有jar对应的源代码。
3.我不想将jar中的所有类代码,一个个copy出来,组成一个新项目,然后,再引用。

如下图所示

clipboard.png
我能通过反编译插件看到SaveEnumerationAction.class源代码,并在里面设置断点,运行项目的时候,也能进入断点,但是,会出现“Source not found”的错误。

clipboard.png

问题1:eclipse是否能调试,上面我描述的那种情况,即:只有jar 没有源码?
问题2:如果,eclipse做不到,是否有其他java集成开发环境能做到?
问题3:IDEA 是否能做到,无源代码调试jar?
问题4:如果,我将jar中的所有类代码,一个个copy出来,组成一个新项目,然后,再引用,通过这种方式来调试,我没试过,不知是否可行?
请大侠赐教!感激不尽……

阅读 8.2k
2 个回答

1、eclipse不能调试你上述所需情况
2、有没有其他环境能做到不知道,但是可以肯定的是即使有,他也肯定通过什么途径搞到了源码。也就是说必须要有源码
3、参考2
4、如果你的jar结构较简单可行

请问为什么不去找源码呢?如果非开源的,那么(4)我觉得你是做不到的

别听楼上瞎说,eclipse可以做到。你这种情况可能是你用的反编译插件不太对,或者是你的jar包里面已经没有行号了(打包的时候行号是可选的,加了行号才能调试)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题