6

我想知道是否有任何支持混合模式调试的IDE或Eclipse插件。当我搜索术语混合模式时,发现很多参考调试 VM 语言以及本机代码。

但是我指的是一种类似于编译语言(例如 C)中可用的功能,其中用户可以同时看到 C 源代码行以及相应的汇编行,并且即使在汇编级别也能够介入。(如果我将功能称为混合模式而犯了命名错误,请原谅)

换句话说,我在调试 java 时正在寻找以下功能:

  1. 程序执行过程中获取java源代码和相应字节码的能力
  2. 能够查看 JVM PC 寄存器和操作数堆栈
  3. 能够查看其他 JVM 特定数据结构(例如常量池)

这是为了了解 Java 源代码如何映射到字节码,以及在介入时如何影响各种 JVM 相关数据结构。

4

2 回答 2

1

我是一名 DSL 开发人员,并且多次遇到同样的问题。

我发现的唯一工具是Dr. Garbage工具。

目前,它们似乎不是维护得最好的,但它们确实可以与适当的 eclipse 版本一起使用。

于 2017-02-27T11:41:54.053 回答
0

您不需要调试器来了解 Java 代码如何映射到已编译的本机代码。您可以使用-XX:+PrintCompilationJVM 标志。请参阅Stephen Colebourne 的博客文章中的模式信息,以及 Kris Mok对该文章的回复中的更多详细信息。

您可能还会发现HotSpot Internals Wiki很有用。

于 2013-03-02T19:17:17.850 回答