如何使用dbx分析core文件_core文件分析

借助于下面提供的程序可以分析core 文件的部分信息:

#include

#include

void main(int argc, char *argv[])

{

FILE *corefile;

struct core_dumpx c_file;

char command[256];

if (argc != 2) {

fprintf(stderr, "Usage: %s /n", *argv);

exit(1);

}

if ((corefile = fopen(argv[1], "r")) == NULL) {

perror(argv[1]);

exit(1);

}

fread(&c_file, sizeof(c_file), 1, corefile);

fclose(corefile);

sprintf(command, "lquerypv -h %s 6E0 64 | head -1 | awk '{print $6}'", argv[1]);

printf("Core created by: /n");

system(command);

printf("Signal number and cause of error number: %i/n", c_file.c_signo);

printf("Core file type: %i/n", c_file.c_flag);

printf("Number of core dump modules: %i/n", c_file.c_entries);

printf("Core file format number: %i/n", c_file.c_version);

printf("Thread identifier: %i/n", c_file.c_flt.th.ti_tid);

printf("Process identifier: %i/n", c_file.c_flt.th.ti_pid);

printf("Current effective priority: %i/n", c_file.c_flt.th.ti_pri);

printf("Processor Usage: %i/n", c_file.c_flt.th.ti_cpu);

printf("Processor bound to: cpu%i/n", c_file.c_flt.th.ti_cpuid);

/* if (c_file.c_flt.th.ti_cpu > 1) printf("Last Processor: cpu%i/n", c_file.c_flt.th.ti_affinity);

*/

exit(0);

}

假定以上程序的可执行程序名称为anacore ,按照以下步骤察看其运行结果:

1 ) 通过下面的程序生成core 文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值