Oracle Solaris 10下gdb安裝(附安裝包)


1. 背景說明

本文承接Oracle Solaris 10圖文安裝
在該文的章節8處,說到操作系統安裝完后,默認是64位的,后邊安裝完gdb后運行會報錯(詳見“Oracle Solaris 10圖文安裝”)。
那是不是切換到32位模式下就可以運行了?現在驗證下看看。

2. gdb相關包

本文開頭處下載或者百度雲。
百度雲地址:提取碼:yf71
(要積分的都是“流氓”😃)

3. gdb安裝

3.1 上傳資源

將資源上傳到服務器上后,使用root用戶開始安裝。

3.2 解壓

[root@oracle:/soft]# ll
total 82032
-rw-r--r--   1 root     root      299057 Mar 30  2013 expat-2.0.1-sol10-x86-local.gz
-rw-r--r--   1 root     root     22494008 Mar 30  2013 gcc-3.4.6-sol10-x86-local.gz
-rw-r--r--   1 root     root     14789525 Mar 30  2013 gdb-6.8-sol10-x86-local.gz
-rw-r--r--   1 root     root     1486678 Mar 30  2013 libiconv-1.14-sol10-x86-local.gz
-rw-r--r--   1 root     root       48411 Mar 30  2013 libintl-3.4.0-sol10-x86-local.gz
-rw-r--r--   1 root     root     2808616 Mar 30  2013 ncurses-5.7-sol10-x86-local.gz
[root@oracle:/soft]# gunzip expat-2.0.1-sol10-x86-local.gz 
[root@oracle:/soft]# gunzip gdb-6.8-sol10-x86-local.gz
[root@oracle:/soft]# gunzip libiconv-1.14-sol10-x86-local.gz
[root@oracle:/soft]# gunzip libintl-3.4.0-sol10-x86-local.gz
[root@oracle:/soft]# gunzip ncurses-5.7-sol10-x86-local.gz
[root@oracle:/soft]# gunzip gcc-3.4.6-sol10-x86-local.gz
[root@oracle:/soft]# ll
total 160560
-rw-r--r--   1 root     root      872960 Mar 30  2013 expat-2.0.1-sol10-x86-local
-rw-r--r--   1 root     root     80072192 Mar 30  2013 gcc-3.4.6-sol10-x86-local
-rw-r--r--   1 root     root     41948672 Mar 30  2013 gdb-6.8-sol10-x86-local
-rw-r--r--   1 root     root     2633216 Mar 30  2013 libiconv-1.14-sol10-x86-local
-rw-r--r--   1 root     root      141824 Mar 30  2013 libintl-3.4.0-sol10-x86-local
-rw-r--r--   1 root     root     14005248 Mar 30  2013 ncurses-5.7-sol10-x86-local

3.3 安裝

最好按照下邊的順序安裝。輸出略。

pkgadd -d expat-2.0.1-sol10-x86-local
pkgadd -d gdb-6.8-sol10-x86-local 
pkgadd -d libiconv-1.14-sol10-x86-local
pkgadd -d libintl-3.4.0-sol10-x86-local
pkgadd -d ncurses-5.7-sol10-x86-local
pkgadd -d gcc-3.4.6-sol10-x86-local

3.4 環境變量

有自己的.profile文件的話就改自己的,沒有就改/etc/profile。
生效依次是.profile(有的話)-----> /etc/profile(沒有.profile的話)。
我的root用戶有自己的.profile文件,所以就改這個了。

[root@oracle:/]# cat .profile
alias ll='ls -l'
PS1='[\u@\h:$PWD]# '
export PS1
PATH=/usr/sbin:/usr/bin
export PATH

在以PATH開頭一行改為PATH=/usr/sbin:/usr/bin:/usr/sfw/bin:/usr/local/bin。
在結尾再次追加

LD_LIBRARY_PATH=/usr/sfw/lib
export LD_LIBRARY_PATH

最終如下:

[root@oracle:/]# cat .profile
alias ll='ls -l'
PS1='[\u@\h:$PWD]# '
export PS1
PATH=/usr/sbin:/usr/bin:/usr/sfw/bin:/usr/local/bin
export PATH
LD_LIBRARY_PATH=/usr/sfw/lib
export LD_LIBRARY_PATH
[root@oracle:/]# source .profile 
[root@oracle:/]# which gdb
/usr/local/bin/gdb

4. 位數確認

確保在32位下運行。

[root@oracle:/]# isainfo -v
32-bit i386 applications
        avx xsave pclmulqdq aes sse4.2 sse4.1 ssse3 popcnt tscp cx16 sse3 sse2 
        sse fxsr mmx cmov sep cx8 tsc fpu bmi1 f16c fma rdrand 

5. 驗證可用性

用Oracle來驗證是否可行,與之前的64位下Oracle用gdb調試出問題做對比。
需要安裝Oracle 32位的版本,詳見Solaris 10上Oracle 10g安裝步驟圖解
session 1:

SQL> select b.spid from v$session a,v$process b where a.sid=(select sid from v$mystat where rownum=1) and a.paddr=b.addr;

SPID
------------
900

其他的終端,在OS(oracle用戶)下執行:

[oracle@oracle:/export/home/oracle]# gdb $ORACLE_HOME/bin/oracle 900
GNU gdb 6.8
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i386-pc-solaris2.10"...
(no debugging symbols found)
Attaching to program `/export/home/oracle/u01/app/oracle/product/11.2.0/db_1/bin/oracle', process 900
Reading symbols from /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libskgxp10.so...(no debugging symbols found)...done.
Loaded symbols for /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libskgxp10.so
Reading symbols from /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libhasgen10.so...(no debugging symbols found)...done.
Loaded symbols for /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libhasgen10.so
Reading symbols from /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libskgxn2.so...(no debugging symbols found)...done.
Loaded symbols for /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libskgxn2.so
Reading symbols from /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libocr10.so...(no debugging symbols found)...done.
Loaded symbols for /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libocr10.so
Reading symbols from /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libocrb10.so...(no debugging symbols found)...done.
Loaded symbols for /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libocrb10.so
Reading symbols from /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libocrutl10.so...(no debugging symbols found)...done.
Loaded symbols for /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libocrutl10.so
Reading symbols from /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libjox10.so...(no debugging symbols found)...done.
Loaded symbols for /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libjox10.so
Reading symbols from /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libclsra10.so...
(no debugging symbols found)...done.
Loaded symbols for /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libclsra10.so
Reading symbols from /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libdbcfg10.so...(no debugging symbols found)...done.
Loaded symbols for /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libdbcfg10.so
Reading symbols from /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libnnz10.so...(no debugging symbols found)...done.
Loaded symbols for /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libnnz10.so
Reading symbols from /lib/libkstat.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libkstat.so.1
Reading symbols from /lib/libnsl.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib/libsocket.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libsocket.so.1
Reading symbols from /lib/libgen.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libgen.so.1
Reading symbols from /lib/libdl.so.1...
warning: Lowest section in /lib/libdl.so.1 is .hash at 00000094

(no debugging symbols found)...done.
Loaded symbols for /lib/libdl.so.1
Reading symbols from /usr/lib/libsched.so.1...
warning: Lowest section in /usr/lib/libsched.so.1 is .dynamic at 00000074
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libsched.so.1
Reading symbols from /lib/libc.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.1
Reading symbols from /lib/librt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/librt.so.1
Reading symbols from /lib/libaio.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libaio.so.1
Reading symbols from /lib/libm.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libm.so.2
Reading symbols from /lib/libthread.so.1...
warning: Lowest section in /lib/libthread.so.1 is .dynamic at 00000074
(no debugging symbols found)...done.
Loaded symbols for /lib/libthread.so.1
Reading symbols from /lib/libpthread.so.1...
warning: Lowest section in /lib/libpthread.so.1 is .dynamic at 00000074

(no debugging symbols found)...done.
Loaded symbols for /lib/libpthread.so.1
Reading symbols from /lib/libmd.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libmd.so.1
Reading symbols from /lib/ld.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/ld.so.1
sol-thread active.
Retry #1:
Retry #2:
Retry #3:
Retry #4:
[New LWP    1        ]
[New Thread 1 (LWP 1)]
Symbols already loaded for /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libskgxp10.so
Symbols already loaded for /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libhasgen10.so
Symbols already loaded for /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libskgxn2.so
Symbols already loaded for /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libocr10.so
Symbols already loaded for /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libocrb10.so
Symbols already loaded for /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libocrutl10.so
Symbols already loaded for /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libjox10.so
Symbols already loaded for /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libclsra10.so
Symbols already loaded for /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libdbcfg10.so
Symbols already loaded for /export/home/oracle/u01/app/oracle/product/11.2.0/db_1/lib/libnnz10.so
Symbols already loaded for /lib/libkstat.so.1
Symbols already loaded for /lib/libnsl.so.1
Symbols already loaded for /lib/libsocket.so.1
Symbols already loaded for /lib/libgen.so.1
Symbols already loaded for /lib/libdl.so.1
Symbols already loaded for /usr/lib/libsched.so.1
Symbols already loaded for /lib/libc.so.1
Symbols already loaded for /lib/librt.so.1
Symbols already loaded for /lib/libaio.so.1
Symbols already loaded for /lib/libm.so.2
Symbols already loaded for /lib/libthread.so.1
Symbols already loaded for /lib/libpthread.so.1
Symbols already loaded for /lib/libmd.so.1
Symbols already loaded for /lib/ld.so.1
[Switching to Thread 1 (LWP 1)]
0xc89ec545 in _read () from /lib/libc.so.1
(gdb) 

成功。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM