java-调试hotspot

转自 http://blog.csdn.net/pange1991/article/details/51580969


一、下载并安装Netbeans 7.0.1 (c/c++)
http://share.weiyun.com/6292e450ed1c88423812e268f355a108
或者官网下载https://netbeans.org/community/releases/70/
ps:之所以使用7.0.1版本,是因为我在使用8.1,8.0,7.4版时,不能进行正常的Debug。

二、使用Netbeans调试
1、新建项目

java-调试hotspot_第1张图片

指定makefile
java-调试hotspot_第2张图片

/usr/application/tools/openjdk/hotspot/make/Makefile
  • 1

然后一直默认下一步,直到完成为止

2、运行配置
项目右键选择属性,进行参数设置
java-调试hotspot_第3张图片
(1)修改生成命令

${MAKE} -f Makefile clean jvmg ALT_BOOTDIR=/usr/application/tools/jdk1.6.0_26 ARCH_DATA_MODEL=64 LANG=C ZIP_DEBUGINFO_FILES=0 
  • 1

(2)修改运行命令、运行目录、环境
java-调试hotspot_第4张图片
修改运行命令,Queens 是需要运行的class文件,你可以使用自己的类文件替换

/usr/application/tools/openjdk/hotspot/build/linux/linux_amd64_compiler2/jvmg/gamma
-XX:StopInterpreterAt=1 -version Queens
  • 1
  • 2

修改运行目录

/usr/application/tools/openjdk/hotspot/make
  • 1

修改环境
java-调试hotspot_第5张图片

**LD_LIBRARY_PATH** /usr/application/tools/openjdk/hotspot/build/linux/linux_amd64_compiler2/jvmg
**JAVA_HOME** /usr/application/tools/openjdk/build/linux-amd64-debug/j2sdk-image
**CLASSPATH** 
..:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:/root/Desktop
  • 1
  • 2
  • 3
  • 4

注意:这里要把Queens所在的目录添加到环境CLASSPATH里面。

3**、运行或调试源代码**
这里写图片描述

如果想调试源代码,可以找到HotSpot的入口java.c的main函数,并设置断点
java-调试hotspot_第6张图片

编译运行的时间有点长,耐心等待即可。

你可能感兴趣的:(java-调试hotspot)