我正在尝试调试在后台使用 JMS 的 Web 服务调用。我让 JBoss 在 Debug模式下运行。发生的事情是,当我在 Eclipse 中按 F6(以执行当前行)时,它会跳过某些行。我有这个方法:
@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 - 为什么在调试 JBoss 时 Eclipse 会跳行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2968904/