0

Java プログラムでスタック トレースを実行すると、右かっこだけを持つ行を指す行番号が返されます。例外はありませんが、スレッドが CPU の 98% 以上を消費しているため、このコードがあるスレッドは悪い状態にあるようです。CPU が占有されているのを確認したり、スレッドが悪い状態 (イベントが処理されていない) にあることに気付いたりすると、スタックトレースは常に以下に示す行を指します。これを数回見たことがありますが、この問題を手動で再現することはできません。スタックトレースが閉じ括弧を指しているときの意味を知っている人はいますか?

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

2 に答える 2

0

デバッグしているソース コードは、バイトコード (コンパイルされたコード) と同じではないようです。プロジェクトのクリーニングと再構築を試みます。JAR をデバッグしている場合は、ソース コードが JAR のバージョンと一致していることを確認してください。

于 2013-08-15T17:28:29.063 に答える