gpt4 book ai didi

java - Eclipse 调试时跳行

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:04:33 29 4
gpt4 key购买 nike

我是 java 和 eclipse 的新手,我一直在尝试在设备上调试 android 应用程序。这是一个带有 jar 文件引用的小项目。我阅读了类似的问题,但没有帮助。

我需要的是能够调试 jar 文件的源代码,所以我附上了源代码(我使用反编译器获得的)并且我能够进入库的源代码所以我想我做到了正确。但是我无法成功调试这些源代码;在 Debug模式下,它会跳过断点(只有源文件中附加到 jar 文件的断点),当我尝试“进入代码”时,它会跳转到随机行,在调试时会跳过行。

我使用的是最新版本的eclipse、android sdk 和jdk。我不知道是什么原因导致了这个问题,我想知道。

提前致谢,我希望我解释得充分。

最佳答案

问题是,你不能反编译类文件来调试它。因为反编译文件的行会和原来的Java源代码行不同(想象一下:真正的源代码有一些注释等东西不会被编译成类文件)!

因此,如果您的 Eclipse 向您显示当前调试行 42,那么它只会告诉您,调试器将向您显示类中的 42th 行代码文件。这与您反编译的 java 源文件不匹配。

但是,您可以使用选项添加行号作为注释 来反编译类文件。您可以将注释中的这些行号与实际的堆栈跟踪行号进行比较。这可以帮助您稍微想象一下这个问题。

编辑:按照Laurent B的建议,您将能够使用JD-Eclipse 重新对齐代码,请参阅:http://mchr3k.github.io/jdeclipse-realign/

评论+1! :)

edit2:如果类文件是使用标志 -g:none 编译的,您将无法使用行号进行反编译。 :

-g:none
Do not generate any debugging information.

因此,如果是这种情况:请尝试找到您的 jar 文件的原始源代码!

关于java - Eclipse 调试时跳行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21730835/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com