1

我正在编写一个程序来使用 JDI 逐步执行 Java 代码。我现在可以检查任何给定时刻我关心的所有变量的值。

现在,我希望能够检查每一行代码的性质(正在逐步执行)。例如,程序是否在两个变量之间进行比较?是赋值语句吗?

我浏览了各种课程和教程,但无法找到是否有课程介绍了这个概念。我发现的最接近的东西是Location类......但它仍然不包含我所追求的信息。

4

1 回答 1

1

如果您正在寻找确切的源代码行,那么 Location 将帮助您获取正在执行的源代码行:

Location.lineNumber()
Location.sourceName() 

一旦获得源行号,就可以读取源路径以了解执行的确切语句。类似于 eclipse 调试器的工作方式。

至于正在执行的语句的性质超出了 JDI 的范围(据我所知),它更多地属于解析 java 语言语句。像这里的一个

于 2015-07-22T10:01:18.857 回答