转载:Debugging OpenJDK 8 with NetBeans on Ubuntu

原文地址:https://marcin-chwedczuk.github.io/debugging-openjdk8-with-netbeans-on-ubuntu

概述如下:

1 当然是下载openjdk。我这里选的是jdk8u,这是目前公司使用的主流版本,另外jdk9和jdk10目录结构相较与传统的目录结构有不小变更,从已有的资料上找相关的代码会增加难度。两种下载方式:

  1)hg clone http://hg.openjdk.java.net/jdk8u/jdk8u/ . (注意后面这个代码当前目录的句点),这步完成之后还要执行下载下来的get_source.sh脚本。

  2)使用git或其它方式从https://github.com/dmlloyd/openjdk下载完整的源代码。

2 下载编译源码所要使用的依赖。

  sudo apt install   libx11-dev   libxext-dev   libxrender-dev    libxtst-dev   libxt-dev     libcups2-dev     libfreetype6-dev      libasound2-dev

(另外提一句,如果有哪位同学跟我一样使用的opensuse系统,最后那个libasound2-dev包是找不着的:可以安装alsa-devel这个包替代,libcups2-dev用cups-devel代替

3 构建makefile
  如遇cc1plus all warnings being treated as errors的编译问题。则定位至
/hotspot/make/linux/makefiles/gcc.make(其中的Linux是对应的自己的操作系统),注释掉WARNINGS_ARE_ERRORS = -Werror这行代码。

$ cd openjdk-jdk8u/

$ chmod +x ./configure
$ ./configure --with-debug-level=slowdebug --with-target-bits=64 

4编译
make
5 运行我们的java程序
  0)准备一个HelloWorld.class文件
  1) $ ./build/linux-x86_64-normal-server-slowdebug/jdk/bin/java   -cp "/home/me/dev/java/helloWorld/"   HelloWorld (第一个参数是你上步编译出的java可执行程序,第二个参数是classpath,这里指向你放class文件的目录,第三个是含有main方法的类名。

     Hello, world!(这是输出)

6 用netbeans运行和调试我们的openjdk。如果要这样做,则3,4,5步皆可省略。
  1)从官网下载netbeans,要求支持C++。
  2)新建C++工程,并从已有源码导入。
  3)配置并运行configure脚本。
  4)配置完成后项目自动运行make。
  5)构建完成后指定可执行的java程序如5.1。
  6)在源码中设断点并点击debug按钮(如有信号中断弹出框,则选择“不再补获该信号”和”继续前进“。
  这几个步骤说的比较简略,是因为引文作者已十分细心的给出了截图。故不再赘言。
7 加断点的位置。
  参考https://www.cnblogs.com/bhlsheji/p/4017816.html这篇博文。
 
 

转载于:https://www.cnblogs.com/lancepro/p/8719795.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值