|
IBM AIX中产生Core文件的方法环境:(产品,平台,机型,软件版本,等) 平台:RS 软件版本:AIX4.3 or later问题描述: 如果用户需要为一个应用进程产生一个完整的core文件用于分析,如何做?解答:1. 前提条件在产生core文件之前,先要配置系统参数以确认系统可以产生一个完整的core文件。另外,文件系统中还需要有足够的剩余空间用于存放所产生的core文件。core文件通常存放在进程属主用户的主目录中。2. 什么时候要产生完整地Core文件缺省情况下,进程不会产生一个完整的core文件。如果需要跟踪调试一个应用的共享内存段中的数据,特别是线程堆栈中的数据,则需要产生一个完整的core dump文件用于分析。3. 若需要产生完整的core文件信息,首先需要以root身份执行下面的命令:# chdev -l sys0 -a fullcore=true上述命令也可以通过smitty来完成: smitty --> System Environments --> Change/ Show Characteristics of Operating SystemChange/ Show Characteristics of Operating System Maximum number of PROCESSES allowed per user [128] Maximum number of pages in block I/O BUFFER CACHE [20] Maximum Kbytes of real memory allowed for MBUFS [0] Automatically REBOOT system after a crash false Continuously maintain DISK I/O history false HIGH water mark for pending write I/Os per file [33] LOW water mark for pending write I/Os per file [24] Amount of usable physical memory in Kbytes 262144 State of system keylock at boot time normal Enable full CORE dump true Use pre-430 style CORE dump false Enable CPU Guard disable将上面列表中的“ Enable full CORE dump ”项设置为“true”。4. 使用下面的命令产生一个core文件: # kill -11 注意:上面的命令同时也会杀掉指定的进程。=========================================================附录 B. 如何查看C程序产生的CORE DUMP(来源于IBM cn)Document #: 1317181000005环境:产品:IBM C 和C++ Compiler 平台:AIX4.3.0以上 版本: C for AIX version 3 以上问题描述:如何查看C程序产生的CORE DUMP,并找到产生问题的根源?解答:在AIX操作系统上查看C程序产生的CORE DUMP,可以使用AIX操作系统提供的命令:dbx. 如果用户在使用时发现无此命令,则需安装 操作系统的文件包:bos.adt.debug。 具体使用dbx命令的方法如下: 1。首先在进行C程序 编译时,要使用-g选项。 cc -g -o samp1.o samp1.c 2.在执行完程序,并产生CORE DUMP文件core后,使用:dbx samp1.o core 命令可查看CORE DUMP。 要想找到是哪个函数或语句引起的问题,在dbx的命令行再输入where,即可显示出所需的信息。dbx的命令行还可执行多种命令以完成不同的查看功能,用户可通过help命令了解这些命令。 |
|