Java 为什么Eclipse没有';你不能在断点上停止吗?
我尝试调试OpenAdapter: 在org.openadapter.bootstrap.ClasspathBootstrapper中:Java 为什么Eclipse没有';你不能在断点上停止吗?,java,eclipse,spring,Java,Eclipse,Spring,我尝试调试OpenAdapter: 在org.openadapter.bootstrap.ClasspathBootstrapper中: mainMethod.invoke(appClass, new Object[] { args }); 我发现这是SpringAdapter的主要方法 但Eclipse并没有在断点处停止!原因可能是什么? 谢谢。确认以下内容,而不是运行您的应用程序: 确保您正在使用调试器: 除非您使用调试器运行应用程序,否则将忽略断点 如果这不是问题所在,那么请确保您的
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,则需要确保与源代码的关联是正确的(仅在类路径上是不够的) 最后,你需要确保你真的在执行你认为你正在执行的事情。我设置了很多断点,然后想知道为什么没有调用它们。最终的原因是程序流程与我想象的不一样。 确保您没有单击调试器部分中断点选项卡顶部的小图标。它将跳过所有断点,正如您在其工具提示上看到的那样。
确保您没有单击调试器部分中断点选项卡顶部的小图标。它将跳过工具提示中显示的所有断点。是否确定调试器已连接到运行的应用程序。需要截图和/或更多信息来帮助您进一步了解。信息不足,无法继续。您是在调试它,还是在运行它?是的,我已将源代码附加到应用程序。在调试模式下。您在调试器中配置了什么版本的源代码?它是否与您试图调试的字节码的版本相同?我找到的上一个版本。我认为这是因为有很多静态方法。调试的静态方法是否存在任何问题?是否确定调试器已附加到运行的应用程序。需要截图和/或更多信息来帮助您进一步了解。信息不足,无法继续。您是在调试它,还是在运行它?是的,我已将源代码附加到应用程序。在调试模式下。您在调试器中配置了什么版本的源代码?它是否与您试图调试的字节码的版本相同?我找到的上一个版本。我想那是