Java 为什么Eclipse在调试JBoss时跳过行?
我正在尝试调试在后台使用JMS的web服务调用。我让JBoss在调试模式下运行。当我在Eclipse中按F6键(执行当前行)时,会跳过某些行。我有这个方法:Java 为什么Eclipse在调试JBoss时跳过行?,java,jboss,jms,Java,Jboss,Jms,我正在尝试调试在后台使用JMS的web服务调用。我让JBoss在调试模式下运行。当我在Eclipse中按F6键(执行当前行)时,会跳过某些行。我有这个方法: @Override public void log(MsgPayload payload) { 1 Date startTime = new Date(); logger.info("Publishing with BufferedPublisher.java start time:"+startTim
@Override
public void log(MsgPayload payload) {
1 Date startTime = new Date();
logger.info("Publishing with BufferedPublisher.java start time:"+startTime);
3 publisher.send(payload);
Date endTime = new Date();
logger.info("Publishing with BufferedPublisher.java end time:"+endTime);
long mills = endTime.getTime()-endTime.getTime();
double secs = mills/1000.0;
logger.info("Publishing with BufferedPublisher.java total time (seconds):"+secs);
}
那么会发生什么呢?我在第1行有断点。当我按F6时,它跳过该行并转到第3行。当我再次按F6键时,它将转到方法的末尾。一半的代码从未执行过。。???我的问题是为什么。我假设我的源代码没有很好地连接到正在执行的真实代码,但是我该如何改变这一点呢
谢谢。当使用调试器查看的源代码与应用程序实际运行的代码版本不同时,通常会发生这种情况。可能以前的版本在第1行和第3行有代码,第2行有空格(或注释),没有其他代码。确保部署了最新的代码(并将调试器配置为指向最新的源代码),然后查看它是否仍然存在。我刚刚解决了类似的问题。我的java构建路径中有一些配置错误的外部JAR。我修复了它,清理并重建了这个项目。在那之后,一切正常。我正在运行MyEclipse 9.1,通过更改项目名称目录下的.classpath文件,我的问题得到了解决。我不知道它是如何改变的,但它正在向目标发送热部署
一旦代码被更改为部署到WEB-INF/类,调试器行就同步了,并且都工作得很好 那么,即使我三次检查我有匹配的jar和sources.jar,如果我仍然遇到这个问题呢?如果有必要的话,我将尝试逐步介绍部署在Tomcat6上的SpringMVC包v3.0.5。