Java StackTrace返回仅具有紧密括号的行号

时间:2013-08-15 17:12:32

标签: java stack-trace

我在java程序上运行一个堆栈跟踪,它返回一个指向只有一个紧括号的行的行号。此代码所处的线程似乎处于错误状态,因为没有异常但线程占用了98%或更多的CPU。每当我看到CPU被占用时,或者注意到线程处于错误状态(事件未被处理)时,堆栈跟踪始终指向下面显示的行。虽然我已经看过几次,但我无法手动重现这个问题。有没有人知道堆栈跟踪指向近似括号时的含义?

    ...
while (true) {
    try {
        event = eventBlockingQueue.take();
        ... process event ...
    } catch (InterruptedException e) {
        ... log ...
    } catch (RuntimeException e) {
        ... log ...
    } <-- Stacktrace points here!
}

2 个答案:

答案 0 :(得分:0)

看起来您正在调试的源代码与字节码(编译代码)不同。我会尝试清理和重建项目。如果您正在调试JAR,请确保您拥有的源代码与您拥有的JAR版本相匹配。

答案 1 :(得分:0)

我怀疑堆栈跟踪在右括号上,因为 JVM 正在清理刚刚被消除的堆栈内存(通过右括号)。