您的位置:首页 > 运维架构 > 网站架构

Solaris10 sparc架构下安装gdb和简单调试

2016-03-04 10:31 330 查看
最近tomcat一直无缘无故崩溃,但是tomcat的日志又没有显示什么异常,估计是因为tomcat还没有来得及写日志就直接崩溃了。而且tomcat的bin也没有crash日志,也就是默认名字格式如:hs_err_pid***.log名字类型的日志,这个时候还有一条路就是分析core日志。默认的core日志是在启动目录的,比如在tomcat的bin目录。当然了,如果你用自己写的脚本来启动tomcat,则这个core文件最终生成的地方就在放脚本的目录里。

由于对soraris系统不熟悉,开始的时候直接安装的gdb是X86的二进制格式安装包,可以参考网站:http://blog.csdn.net/liuxuezong/article/details/6855152,而且安装的过程一切正常,但是访问的时候却显示命令不合法,很显然是PATH无效的问题,最后想起来是因为/etc/profile没有重新加载的原因,于是重新登录了下。这次又报目录是找到了,可是报这个执行文件无效(具体报的错误忘记了)。后来查了下发现Soraris有两个架构,一个是X86,一个是Sparc,具体区别这里不赘述。我用命令查了下,我们的是Sparc架构的,咋办啊?网上又搜不到Sparc架构的安装文件,怎么办?后来想到Linux上安装文件有三种方式:一种是源码的方式,一种是二进制的方式,一种是rpm的方式。Solaris是unix体系,应该是支持第一种的,于是我就试了下第一种方式,果然可以。源码的方式,就是将源码下载到机器上(ftp传上去也可以),然后编译安装。网上这个资料很少,有的说的不够清晰,我这里把步骤写下来:

第一步:安装gcc和mark,两者是干啥的,大家都知道,不知道自己查去;

第二步:下载gdb的安装文件,这里给个地址:gdb源码下载地址,(网上说的http://www.sunfreeware.com/indexsparc10.html )地址反正我找不到在哪里下,
下载后用ftp传到服务器上;

第三步:先执行:gunzip gdb-6.8.tar.gz ,然后再执行:tar xvf gdb-6.8.tar,这俩解压过程需要一段时间,不要着急;

第四步:进入gdb-6.8a目录,.然后执行configure命令,如:/configure --build=sparc64-sun-solaris --host=sparc64-sun-solaris --target=sparc64-sun-solaris,注意这里的

build、host、target要给根据你的操作系统类型决定,我这里是65位的sparc,所以用这个参数,具体要结合你自己的操作系统,执行这个命令之后则生成makefile

文件;

第五步:使用vim修改生成的makefile文件,将CC = gcc 改为 CC = gcc -m64,如果不好改就用ftp下载到本地,然后修改后再传上去;

第六步:运行makefile,就是直接在命令行敲:makefile,注意:执行完makefile操作系统没有提示,就是重新进入命令行,makefile需要执行很长时间,这里也真正明白为 啥c语言和c++的人经常说编译时间长的问题了,我们学java的真的是太傻太天真了。

第七步:安装,直接敲:make instal后回车,注意:执行完make install操作系统没有提示,就是重新进入命令行;

好了,到这里就安装完毕了,下边说怎么使用gdb调试。

第一步:进入core文件的目录;

第二步:敲命令如: gdb $JAVA_HOME/jre/bin/java core,这里最后一个单词"core”是core文件的名称,如果叫其他名字就改成其他的即可;

好了,就这样了,也可以使用其他的gdb命令,这里不再赘述,另外也可以采用以下的方式看各种统计数据,如:

jmap -heap $HOME_JAVA/bin/java core,查看堆日志;

jstack $HOME_JAVA/bin/java core,查看栈的日志;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: