使用
DBX
分析
AIX
下的
CoreDump
PS:
Where can you get dbx?
It is part of bos.adt.debug
# lslpp -w /usr/bin/dbx
File Fileset Type
-------------------------------------------
/usr/bin/dbx bos.adt.debug Symlink
以下轉自
http://www.aixchina.net/?6141
/viewspace-18882
I core dump
分析入門
AIX
專家俱樂部
E ?!CR8Z#S)[
環境變量設定
`#X`4\]9h|8]0
;Uy%D]6sQ.i9O0
可以通過
/etc/security/limits
檔案對各使用者的基本配置參數包括
core
大
小進行限制。或者通過
ulimit
更改目前環境下的
core
大小限制。
AIX
專家俱樂部
vF?I9u:B1@]!HC
c\!v_J-r)r3U0
預設情況下應用程序生成
core dump
時都使用檔案名
core
。為了避免同一工
作目錄下的程序
core
互相覆寫可以定義環境變量
CORE_NAMING=true
然後啟動程序這樣
将生成名為
core.pid.ddhhmmss
的檔案。可以使用
file
core
指令檢視
core
是哪個程序産
生的。
:EvFu#O@$n*s)g0AIX
專家俱樂部
0U(p#k2_:J/} G"v$D.E
預設情況下應用程序
dump
時會包含所有的共享記憶體如果
dump
時想排除共享記憶體内容
可以在啟動程序之前設定環境變量
CORE_NOSHM=true.
R1I rjg0
9kkS%[email protected]
系統有一個參數
fullcore
用于控制是否在程式
coredump
時生成完整的
core
。為避免資訊丢失建議打開
fullcore
。可以使用
lsattr
–
El sys0
查詢是否将
fullcore
打
開使用
chdev
-l
sys0
-a
fullcore=true
将
fullcore
狀态更改為打開。也可以在程式内部調用
sigaction
例程設定
fullcore
參考如下測試程式
AIX
專家俱樂部
~*Pp~3Qi
@4L3gNuy_0fullcore
設定示例
AIX
專家俱樂部
n4m4E,c/{ ewz
8g|9zx9Gv'F0//test.CAIX
專家俱樂部
5D@)bx*?)F
#include AIX
專家俱樂部
?&Q'NC!rB*ox
#include
[email protected]
專家俱樂部
[email protected]{(K
int main(int argc, char* argv[])AIX
專家俱樂部
4s$Q0QY5j6N)?6Z,M/z
{
[-lfWBAL0 char str[10];AIX
專家俱樂部
J&Bo'CS5q
struct sigaction s;
azZqqo-oWO-f?0 s.sa_handler = SIG_DFL; AIX
專家俱樂部
t"?:[j h,jD
s.sa_mask.losigs = 0;