如何让HotSpot VM处于调试模式?

时间:2012-06-10 15:45:47

标签: java jvm jvm-hotspot compiler-flags debug-mode

我需要HotSpot VM处于调试模式的原因是,我希望支持一些JVM选项,例如

-XX:+PrintCFGFile

我目前的JVM版本就像

java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.1) (suse-3.1-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

我是否必须安装一些工具/补丁来实现这一目标?

谢谢!

2 个答案:

答案 0 :(得分:4)

经过一段时间的搜索,现在问题看起来更加清晰了。

我无法使用

-XX:PrintCFGToFile
选项的原因是因为我使用的JVM是产品版本,而不是调试版本。

我发现这样一个网站提供了JVM的调试版本。以下是链接: http://download.java.net/jdk6/6u25/promoted/b03/index.html

我已经测试了版本

jdk-6u25-ea-bin-b03-windows-i586-debug-27_feb_2011.jar
它运行良好,我可以使用上面提到的选项,并且在执行Java程序后会生成output.cfg文件。

安装完成后,会有一系列文件夹\jdk1.6.0_25\fastdebug>。我得到以下版本信息:

java version "1.6.0_25-ea-fastdebug"
Java(TM) SE Runtime Environment (build 1.6.0_25-ea-fastdebug-b03)
Java HotSpot(TM) Client VM (build 20.0-b10-fastdebug, mixed mode)

答案 1 :(得分:-1)

来自jdb手册:

“必须使用以下选项启动要使用jdb调试的VM:-agentlib:jdwp = transport = dt_shmem,server = y,suspend = n”

这会加载进程内调试库并指定要进行的连接类型。“