Solaris10 sparc架構下安裝gdb和簡單調試

         最近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,查看棧的日誌;

發佈了132 篇原創文章 · 獲贊 708 · 訪問量 102萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章