Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:调试器未在第三方API类文件中停止_Java_Eclipse_Debugging - Fatal编程技术网

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

Java:调试器未在第三方API类文件中停止,java,eclipse,debugging,Java,Eclipse,Debugging,我使用的是第三方API(来自私人组织)。当我使用该API时, 一个特定于应用程序的错误即将出现(数据不可筛选),所以我想调试他们的API 为此,在jd GuI反编译器的帮助下,我从他们的jar中获取了所有源文件(Java文件),并将这些源文件从Eclipse生成到特定的jar文件,但当我试图在Eclipse中的特定类文件中插入断点时,调试器并没有停止 谁能告诉我,如何解决这个问题 非常感谢。删除所有断点,只在要调试的代码之前留下一个断点。如果api在另一个线程中运行,Eclipse可能无法捕获断

我使用的是第三方API(来自私人组织)。当我使用该API时, 一个特定于应用程序的错误即将出现(数据不可筛选),所以我想调试他们的API

为此,在jd GuI反编译器的帮助下,我从他们的jar中获取了所有源文件(Java文件),并将这些源文件从Eclipse生成到特定的jar文件,但当我试图在Eclipse中的特定类文件中插入断点时,调试器并没有停止

谁能告诉我,如何解决这个问题


非常感谢。

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

常规的“断点”基于源代码行号,因此,如果您的源代码关闭了哪怕一行,断点也不会按预期工作。您认为要放置断点的行可能是空行,也可能是在实际代码中未执行的分支中

每次我遇到这个问题,第三方库的二进制和源jar的版本都略有不同

解决方案是以某种方式获取用于编译现有类文件的原始源代码


为了快速修复,您还可以尝试放置一个方法断点,该断点基于方法签名而不是行号。请注意,这些可能会显著降低调试器的速度。

请告诉我“是否已将源代码添加到类路径中?如果未添加,请尝试将其添加到类路径中”是什么意思?是的,我已经这样做了(即在JD-GUI De编译器生成的源代码下的方法签名本身中放置断点)但它仍然没有停止。我没有原始的源代码,只是想确认一下:你确定它实际上是一个方法断点,而不是方法声明行上的行断点吗?方法断点有一个稍微不同的图标,正如您在这里看到的:如果它实际上是一个方法断点并且没有停止,那么该方法就不会被调用。您可以尝试在更高级别的调用者(比如您的测试工具)处断开连接并进入方法,看看您是否能够确定调用了哪个方法。