我需要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)
我是否必须安装一些工具/补丁来实现这一目标?
谢谢!
答案 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”
这会加载进程内调试库并指定要进行的连接类型。“