我正在使用第三方API(来自私人组织)。当我使用它时, 特定于应用程序的错误即将出现(数据不可屏蔽),所以我想调试它们的API。
为此,从他们的jar中我已经在jd-GuI Decompiler的帮助下获取了所有源文件(Java Files),并从Eclipse生成了那些源文件到特定的Jar文件,但是当我试图放置一个Break时在Eclipse中的特定类文件中,调试器并没有停在那里。
请有人告诉我,如何解决这个问题?
非常感谢。
答案 0 :(得分:1)
删除所有断点,并在要调试的代码之前只留下一个断点。如果api在另一个线程中运行,Eclipse可能无法捕获断点。 你有可用的源代码吗?
答案 1 :(得分:1)
“常规”断点基于源行号,因此如果您拥有的源甚至只有一行,则断点将无法按预期工作。您认为您正在设置断点的行可能是空白行,也可能是未在实际代码中执行的分支。
每当我遇到这个问题时,结果发现第三方库的二进制和源代码库的版本略有不同。
解决方案是以某种方式获取用于编译您拥有的类文件的原始源。
要快速修复,您还可以尝试使用方法断点,它基于方法签名而不是行号。请注意,这些可能会显着减慢调试器的速度。