我是靠谱客的博主 魔幻面包,最近开发中收集的这篇文章主要介绍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函数,并设置断点
这里写图片描述

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

最后

以上就是魔幻面包为你收集整理的java-调试hotspot的全部内容,希望文章能够帮你解决java-调试hotspot所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部