JDI StackFrame.Location.lineNumber 丢失。这是因为缺少调试信息吗?

问题描述 投票:0回答:1

我正在调试一个线程被挂起的 Java 程序。检查此线程的堆栈跟踪时,有一个 JDI StackFrame,它的方法是

sleep
用于 JDK 类 java.lang.Thread。我想检查这个 StackFrame 的 JDI Location,特别是这个方法的 lineNumber。但是,缺少 lineNumber,我想知道为什么。这是因为我使用的 JDK 类没有使用调试信息编译吗?

我看到自己定义的方法,使用调试信息编译,有可用的行号,这让我认为调试信息的存在是不同的。但是,我想知道是否还有其他因素可能是问题所在。 lineNumbers 是否来自调试信息?

非常感谢。

java debugging java-11 debug-information
1个回答
0
投票

原来我试图为没有函数体(因此没有行号)的本机方法获取行号。

© www.soinside.com 2019 - 2024. All rights reserved.