使用字节代码进行Java调试

时间:2013-03-02 18:58:45

标签: java debugging bytecode

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

但我指的是一个类似于C语言等编译语言的功能,用户可以看到C源代码行和相应的装配线,并且即使在汇编级也可以进入。 (请原谅如果我通过将该功能称为混合模式而犯了一个术语错误)

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

  1. 在程序执行期间能够使用java源代码和相应的字节代码
  2. 能够查看JVM PC寄存器和操作数堆栈
  3. 能够查看其他JVM特定数据结构(例如常量池)
  4. 这是为了理解Java源代码如何映射到字节代码以及在插入时如何影响各种JVM关联的数据结构。

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

您不需要调试器来了解Java代码如何映射到已编译的本机代码。您可以使用-XX:+PrintCompilation JVM标志。请参阅Stephen Colebourne's blog post中的模式信息以及Kris Mok reply to that post中的更多详细信息。

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