用gdb工具分析core文件

当Unix系统中的应用程序崩溃并生成core文件时,通过file命令确认core文件来源,然后利用gdb工具结合core文件进行调试。在示例中,core文件由cmm_test_tool产生,gdb调试显示错误发生在GetMaxIDFromDB函数的第788行,参数为2和0×806fd20。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 在Unix系统下,应用程序崩溃,一般会产生core文件,如何根据core文件查找问题的所在,并做相应的分析和调试,是非常重要的,本文对此做简单介绍。

 

例如,一个程序cmm_test_tool在运行的时候发生了错误,并生成了一个core文件,如下:

-rw-r–r– 1 root cmm_test_tool.c -rw-r–r– 1 root cmm_test_tool.o -rwxr-xr-x 1 root cmm_test_tool -rw——- 1 root core.19344 -rw——- 1 root core.19351 -rw-r–r– 1 root cmm_test_tool.cfg -rw-r–r– 1 root cmm_test_tool.res -rw-r–r– 1 root cmm_test_tool.log [root@AUTOTEST_SIM2 mam2cm]#

 

首先利用file core.19344命令可以得到:

core.19344: ELF 32-bit LSB core file Intel 80386, version 1 (SYSV), SVR4-style, from 'cmm_test_tool'

可以看出core.19344是由cmm_test_tool这个工程产生。

 

接着就可以利用命令gdb进行查找,格式为gdb 工程名 core文件名,例如 gdb cmm_test_tool core.19344结果如下:

[root@AUTOTEST_SIM2 mam2cm]# gdb cmm_test_tool core.19344 GNU gdb Red Hat Linux (5.2.1-4) Copyright 2002 Free Software Foundation, Inc. GDB is free software

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值