Hotspot的调试

来源:互联网 发布:mysql 回表 覆盖索引 编辑:程序博客网 时间:2024/05/21 03:19

1. GDB中的调试。

按照前述在hotspot目录下 make jvmg jvmg1 即可生成带有调试符号的文件。进入所生成的 jvmg 目录中,执行

./hotspot -gdb -classpath YOURPATH CLASSNAME

即可进行gdb调试。

2. Netbeans中的调试。

推荐使用 netbeans 7.0.1。我使用的系统是 Ubuntu 14.04 64 bit 。

项目生成命令是:

${MAKE} -f Makefile  jvmg ALT_BOOTDIR=/home/nightwish/program_files/work/jdk1.6.0_20 ARCH_DATA_MODEL=64 LANG=C   ZIP_DEBUGINFO_FILES=0 

对于64位机器,其中 ARCH_DATA_MODEL=64 是不能少的。另外如果不指定ZIP_DEBUGINFO_FILES=0,那么需要在编译完成后到jvmg目录下面执行unzip libjvm.diz 解压出调试需要的符号信息,否则不能调试。生成时netbeans会默认在一个 /java/.../linux-i586 的目录下查找自举 jdk ,为止创建一个软链接指向自举 jdk 即可。

项目运行命令是:

 

/home/nightwish/projects/openjdk/hotspot/build/linux/linux_amd64_compiler2/jvmg/gamma  -XX:StopInterpreterAt=1 -version

环境变量:

LD_LIBRARY_PATH    /home/nightwish/projects/openjdk/hotspot/build/linux/linux_amd64_compiler2/jvmgJAVA_HOME    /home/nightwish/program_files/work/jdk1.6.0_45CLASSPATH    .:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar

之后点击调试,即可在 netbeans 中调试 hotspot





0 0
原创粉丝点击