Java:调试器没有在第三方API类文件中停止

时间:2012-03-15 05:41:21

标签: java eclipse debugging

我正在使用第三方API(来自私人组织)。当我使用它时, 特定于应用程序的错误即将出现(数据不可屏蔽),所以我想调试它们的API。

为此,从他们的jar中我已经在jd-GuI Decompiler的帮助下获取了所有源文件(Java Files),并从Eclipse生成了那些源文件到特定的Jar文件,但是当我试图放置一个Break时在Eclipse中的特定类文件中,调试器并没有停在那里。

请有人告诉我,如何解决这个问题?

非常感谢。

2 个答案:

答案 0 :(得分:1)

删除所有断点,并在要调试的代码之前只留下一个断点。如果api在另一个线程中运行,Eclipse可能无法捕获断点。 你有可用的源代码吗?

答案 1 :(得分:1)

“常规”断点基于源行号,因此如果您拥有的源甚至只有一行,则断点将无法按预期工作。您认为您正在设置断点的行可能是空白行,也可能是未在实际代码中执行的分支。

每当我遇到这个问题时,结果发现第三方库的二进制和源代码库的版本略有不同。

解决方案是以某种方式获取用于编译您拥有的类文件的原始源。

要快速修复,您还可以尝试使用方法断点,它基于方法签名而不是行号。请注意,这些可能会显着减慢调试器的速度。