Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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 为什么Eclipse没有';你不能在断点上停止吗?_Java_Eclipse_Spring - Fatal编程技术网

Java 为什么Eclipse没有';你不能在断点上停止吗?

Java 为什么Eclipse没有';你不能在断点上停止吗?,java,eclipse,spring,Java,Eclipse,Spring,我尝试调试OpenAdapter: 在org.openadapter.bootstrap.ClasspathBootstrapper中: mainMethod.invoke(appClass, new Object[] { args }); 我发现这是SpringAdapter的主要方法 但Eclipse并没有在断点处停止!原因可能是什么? 谢谢。确认以下内容,而不是运行您的应用程序: 确保您正在使用调试器: 除非您使用调试器运行应用程序,否则将忽略断点 如果这不是问题所在,那么请确保您的

我尝试调试OpenAdapter:

在org.openadapter.bootstrap.ClasspathBootstrapper中:

mainMethod.invoke(appClass, new Object[] { args });
我发现这是SpringAdapter的主要方法

但Eclipse并没有在断点处停止!原因可能是什么?
谢谢。

确认以下内容,而不是运行您的应用程序:

确保您正在使用调试器:

除非您使用调试器运行应用程序,否则将忽略断点

如果这不是问题所在,那么请确保您的方法实际上正在被调用。尝试将断点放在应用程序的其他位置(在100%调用的代码中),看看会发生什么

方法签名是什么不应该有任何区别(
static
或其他)。有时断点会在你认为会断开的那一行之后断开。尝试将断点上移一行,看看这是否是问题所在


您还可以尝试单步浏览应用程序,查看您认为正在运行的代码是否根本没有被调用。如果这不是一个选项,请检查您可能正在进行的任何假设(例如,
If
语句中的一行上的断点-您确定您的
If
语句正在评估您期望的方式吗)?

确认而不是运行您的应用程序:

确保您正在使用调试器:

除非您使用调试器运行应用程序,否则将忽略断点

如果这不是问题所在,那么请确保您的方法实际上正在被调用。尝试将断点放在应用程序的其他位置(在100%调用的代码中),看看会发生什么

方法签名是什么不应该有任何区别(
static
或其他)。有时断点会在你认为会断开的那一行之后断开。尝试将断点上移一行,看看这是否是问题所在


您还可以尝试单步浏览应用程序,查看您认为正在运行的代码是否根本没有被调用。如果这不是一个选项,请检查您可能正在进行的任何假设(例如,
If
语句中的一行上的断点-您确定您的
If
语句正在评估您期望的方式吗)?

可能从未调用该方法。尝试将断点移动到您认为该方法被调用的位置(或您100%确定该方法将被执行的位置)之前,然后一步一步地查看该方法是否被调用。

可能从未调用过该方法。尝试将断点移动到您认为调用该方法的位置之前(或100%确定将执行该方法的位置),然后一步一步地查看是否调用了该方法。

Eclipse对于带有断点的行号不是非常聪明。它只是说“这个源文件中的行是X,停在那里”。如果有一些后处理更改了行号(如某些代码覆盖率工具),断点将位于错误的位置

另外,您说您已经附加了源代码,但请确保您确实已经附加了源代码。仅仅在项目或工作区中拥有源代码是不够的。如果它是一个项目,您需要确保您的项目依赖于该项目,而不是jar文件。如果是jar,则需要确保与源代码的关联是正确的(仅在类路径上是不够的)


最后,你需要确保你真的在执行你认为你正在执行的事情。我设置了很多断点,然后想知道为什么没有调用它们。最终的原因是程序流与我想象的不一样。

Eclipse对于带断点的行号不是非常聪明。它只是说“这个源文件中的行是X,停在那里”。如果有一些后处理更改了行号(如某些代码覆盖率工具),断点将位于错误的位置

另外,您说您已经附加了源代码,但请确保您确实已经附加了源代码。仅仅在项目或工作区中拥有源代码是不够的。如果它是一个项目,您需要确保您的项目依赖于该项目,而不是jar文件。如果是jar,则需要确保与源代码的关联是正确的(仅在类路径上是不够的)

最后,你需要确保你真的在执行你认为你正在执行的事情。我设置了很多断点,然后想知道为什么没有调用它们。最终的原因是程序流程与我想象的不一样。

确保您没有单击调试器部分中断点选项卡顶部的小图标。它将跳过所有断点,正如您在其工具提示上看到的那样。


确保您没有单击调试器部分中断点选项卡顶部的小图标。它将跳过工具提示中显示的所有断点。

是否确定调试器已连接到运行的应用程序。需要截图和/或更多信息来帮助您进一步了解。信息不足,无法继续。您是在调试它,还是在运行它?是的,我已将源代码附加到应用程序。在调试模式下。您在调试器中配置了什么版本的源代码?它是否与您试图调试的字节码的版本相同?我找到的上一个版本。我认为这是因为有很多静态方法。调试的静态方法是否存在任何问题?是否确定调试器已附加到运行的应用程序。需要截图和/或更多信息来帮助您进一步了解。信息不足,无法继续。您是在调试它,还是在运行它?是的,我已将源代码附加到应用程序。在调试模式下。您在调试器中配置了什么版本的源代码?它是否与您试图调试的字节码的版本相同?我找到的上一个版本。我想那是