编译OpenJDK请看我上一篇文章RedHat/CentOS linux 6 环境编译openJDK7
一、下载并安装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、新建项目
指定makefile
/usr/application/tools/openjdk/hotspot/make/Makefile
然后一直默认下一步,直到完成为止
2、运行配置
项目右键选择属性,进行参数设置
(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
(2)修改运行命令、运行目录、环境
修改运行命令,Queens 是需要运行的class文件,你可以使用自己的类文件替换
/usr/application/tools/openjdk/hotspot/build/linux/linux_amd64_compiler2/jvmg/gamma
-XX:StopInterpreterAt=1 -version Queens
修改运行目录
/usr/application/tools/openjdk/hotspot/make
修改环境
**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
注意:这里要把Queens所在的目录添加到环境CLASSPATH里面。
3**、运行或调试源代码**
如果想调试源代码,可以找到HotSpot的入口java.c的main函数,并设置断点
编译运行的时间有点长,耐心等待即可。