天天看點

如何使用dbx分析core檔案_使用DBX分析AIX下的 CoreDump

使用

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;