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、新建项目

这里写图片描述

指定makefile
这里写图片描述

<code class="hljs applescript has-numbering">/usr/<span class="hljs-type">application</span>/tools/openjdk/hotspot/make/Makefile</code><ul style="" class="pre-numbering"><li>1</li></ul>

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

2、运行配置
项目右键选择属性,进行参数设置
这里写图片描述
(1)修改生成命令

<code class="hljs ruby has-numbering"><span class="hljs-variable">${</span><span class="hljs-constant">MAKE</span>} -f <span class="hljs-constant">Makefile</span> clean jvmg <span class="hljs-constant">ALT_BOOTDIR</span>=<span class="hljs-regexp">/usr/application</span><span class="hljs-regexp">/tools/jdk</span>1.<span class="hljs-number">6.0_26</span> <span class="hljs-constant">ARCH_DATA_MODEL</span>=<span class="hljs-number">64</span> <span class="hljs-constant">LANG</span>=<span class="hljs-constant">C</span> <span class="hljs-constant">ZIP_DEBUGINFO_FILES</span>=<span class="hljs-number">0</span> </code><ul style="" class="pre-numbering"><li>1</li></ul>

(2)修改运行命令、运行目录、环境
这里写图片描述
修改运行命令,Queens 是需要运行的class文件,你可以使用自己的类文件替换

<code class="hljs haml has-numbering"><span class="hljs-comment">/usr/application/tools/openjdk/hotspot/build/linux/linux_amd64_compiler2/jvmg/gamma</span>
-<span class="ruby"><span class="hljs-constant">XX</span><span class="hljs-symbol">:StopInterpreterAt=</span><span class="hljs-number">1</span> -version <span class="hljs-constant">Queens</span></span></code><ul style="" class="pre-numbering"><li>1</li><li>2</li></ul>

修改运行目录

<code class="hljs applescript has-numbering">/usr/<span class="hljs-type">application</span>/tools/openjdk/hotspot/make</code><ul style="" class="pre-numbering"><li>1</li></ul>

修改环境
这里写图片描述

<code class="hljs ruby has-numbering">**<span class="hljs-constant">LD_LIBRARY_PATH</span>** <span class="hljs-regexp">/usr/application</span><span class="hljs-regexp">/tools/openjdk</span><span class="hljs-regexp">/hotspot/build</span><span class="hljs-regexp">/linux/linux</span>_amd64_compiler2/jvmg
**<span class="hljs-constant">JAVA_HOME</span>** <span class="hljs-regexp">/usr/application</span><span class="hljs-regexp">/tools/openjdk</span><span class="hljs-regexp">/build/linux</span>-amd64-debug/j2sdk-image
**<span class="hljs-constant">CLASSPATH</span>** 
..<span class="hljs-symbol">:</span><span class="hljs-variable">$JAVA_HOME</span>/lib/dt.<span class="hljs-symbol">jar:</span><span class="hljs-variable">$JAVA_HOME</span>/lib/tools.<span class="hljs-symbol">jar:</span>/root/<span class="hljs-constant">Desktop</span></code><ul style="" class="pre-numbering"><li>1</li><li>2</li><li>3</li><li>4</li></ul>

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

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

如果想调试源代码,可以找到HotSpot的入口java.c的main函数,并设置断点
这里写图片描述

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值