首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >可以对Java应用程序进行反编译和调试吗?

可以对Java应用程序进行反编译和调试吗?
EN

Stack Overflow用户
提问于 2013-10-03 08:56:18
回答 4查看 8K关注 0票数 2

是否有可能对Java应用程序进行反编译并使用反编译代码进行调试?

我更感兴趣的是使用反编译代码进行调试的能力,而不是反编译本身(这很琐碎)。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-10-03 09:01:30

正如许多其他人已经指出的那样,这确实是可能的。

如果您只想通过直接运行解压缩JAR并调试反编译类(即使用它们作为源),那么有大量的反编译程序可以很好地为您服务。

如果您计划调试应用程序中使用的JAR,请在选择反编译器时注意适当的源代码行号对齐功能。举个例子,看看这个问题。您可能会得到这样的反编译代码:

代码语言:javascript
运行
复制
Line X /* Line Y */ int x = y
Line Y (anything can be here, it could even not exist)

对于X和Y的值完全不同,这意味着反编译的.java文件中的X行对应于编译代码的Y行。调试jar时,必须在源文件的Y行处放置断点才能停止。这可能会很烦人的调试。对于行号,有反编译器对齐源文件中的反编译代码。

代码语言:javascript
运行
复制
Line X /* Line X */ int x = y

我在Eclipse上成功地使用了重组。相信我,用源代码对齐来调试反编译代码确实有很大的不同。

票数 2
EN

Stack Overflow用户

发布于 2013-10-03 08:57:37

是的,在互联网上有可供使用的java反编译程序,无论是付费还是无偿。我目前正在使用一个名为'DJ反编译‘的版本,它提供了一个免费的试用版本,只需谷歌一下就可以了。

您可以希望您试图解压缩的jar并使类文件具有一定的意义,而不是模糊化

票数 2
EN

Stack Overflow用户

发布于 2013-10-03 08:58:05

是的,点击可以免费下载java反编译程序。

其他链接link1 link2

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19154893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档