ubuntu下使用QtCreator调试hotspot源码

首先你需要学习如何使用openjdk7的源码中的makefile来编译hotspot虚拟机。

这个过程如何操作就省略了。《深入理解java虚拟机》一书及网上均有很多教程。


现在假设你已经完成了这一步骤,并生成了debug版本的hotspot虚拟机。


首先我们使用QtCreator新建一个Plain C++ Project。

新建完后添加hotspot的源码,这个有点麻烦,需要一个一个文件夹地添加。


然后点击Projects,我们可以看到其中有一个Build Steps。

由于我们是使用已有的makefile来编译hotspot虚拟机,那么就让Qt Creator使用我们的makefile来执行构建。

ubuntu下使用QtCreator调试hotspot源码_第1张图片

上面的manualSettingHotSpot是我自己用来编译hotspot的脚本。


接下来我们需要告诉Qt Creator如何运行。

我们需要指定gamma的路径,以及要执行的class,及一些必要的环境变量。

注意需要将Working directory和PWD指定为class文件包所在的目录(也就是平时我们用命令行执行java的目录),否则就会出现NoClassDefFoundError。


ubuntu下使用QtCreator调试hotspot源码_第2张图片


最后完成上面的设置之后,我们只需要在代码中设置断点,并启动debug调试即可。


你可能感兴趣的:(java,linux)