JVM学习-2.1 编译并调试openjdk的zero版 之CDT篇

阅读更多

上篇解决了在netbeans下编译调试openjdk的问题。毕竟用惯了eclipse,我想着尝试用eclipse CDT来替代Netbeans.结果成功了。

过程如下:

  1. 在eclipse里Import项目,选择Exsiting code as makefile project,选择项目目录:icedtea6/openjdk-ecj/hotspot
  2. 配置项目,首先是build,在
    1. Builder Setting里,Build directory=${workspace_loc:/hotspot}/../..
    2. Behavior里,Build(Incremental build)=hotspot, clean不要选中
  3. 配置代码提示部分,C/C++Generall > Paths and Symbols.下面的是从.cproject文件里复制出来的,定义了很多宏
    1. C Symbols Tab,即预处理宏:
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
       
    2. C++ Symbols,
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
        
    3. include path部分好像cdt会自动添加,如果需要没添加的,手工添加进去即可。
  4. 新建一个run configuration,
    1. Main tab > c/c++ Application = icedtea6/openjdk.build-ecj/hotspot/outputdir/linux_i486_zero/product/gamma
    2. disable auto build
    3. argument = -cp classic_hello_world foo.Hello -Djava.compiler=NONE,或者写你要执行的任何java类
    4. 添加环境变量,LD_LIBRARY_PATH=${YourIcedtea6}/openjdk.build-ecj/hotspot/outputdir/linux_i486_zero/product
  5. 大功告成,此时项目能有代码提示,请随意设置断点调试jvm。

最后上图,图中断点处正是主循环main_loop,"解释那些字节码"


JVM学习-2.1 编译并调试openjdk的zero版 之CDT篇_第1张图片
 

  • JVM学习-2.1 编译并调试openjdk的zero版 之CDT篇_第2张图片
  • 大小: 228.7 KB
  • 查看图片附件

你可能感兴趣的:(JVM学习-2.1 编译并调试openjdk的zero版 之CDT篇)