博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转载:Debugging OpenJDK 8 with NetBeans on Ubuntu
阅读量:5167 次
发布时间:2019-06-13

本文共 1508 字,大约阅读时间需要 5 分钟。

原文地址: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/ . (注意后面这个代码当前目录的句点),这步完成之后还要执行下载下来的脚本。

  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

你可能感兴趣的文章
sql单表简单的分页脚本(续)
查看>>
Unity5 AssetBundle系列——资源加载卸载以及AssetBundleManifest的使用
查看>>
SEO代码优化的学习笔记
查看>>
如何制作一个横版格斗过关游戏 Cocos2d-x 2.0.4
查看>>
树——二叉搜索树的实现
查看>>
java相关
查看>>
jquery控制textarea是否允许编辑和控制input type="radio" 是否允许选择
查看>>
第三次作业
查看>>
初识SeekBar
查看>>
Java计算两个程序运行时间
查看>>
用C读取INI配置文件
查看>>
描述字符串写入文件
查看>>
maven中properties标签定义变量
查看>>
Android简单逐帧动画Frame的实现(二)
查看>>
四人团-江南行-在乌镇西栅旅游
查看>>
跨域cookie使用
查看>>
安装 Git 并连接 Github
查看>>
Java Client/Server 基础知识
查看>>
泛函分析历史
查看>>
遇见喜欢数学的女孩
查看>>