导航:首页 > 文件教程 > core文件位置

core文件位置

发布时间:2025-05-15 22:53:19

① 如何查看core文件

在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]#

就可以利用命令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, covered by the GNU General Public License, and you are
welcome to
change it and/or distribute copies of it under certain conditions.
Type “show
ing” to see the conditions.
There is absolutely no warranty for GDB. Type
“show warranty” for details.
This GDB was configured as
“i386-redhat-linux”…
Core was generated by `./cmm_test_tool’.
Program
terminated with signal 11, Segmentation fault.
Reading symbols from
/lib/i686/libpthread.so.0…done.
Loaded symbols for
/lib/i686/libpthread.so.0
Reading symbols from
/lib/i686/libm.so.6…done.
Loaded symbols for /lib/i686/libm.so.6
Reading
symbols from /usr/lib/libz.so.1…done.
Loaded symbols for
/usr/lib/libz.so.1
Reading symbols from
/usr/lib/libstdc++.so.5…done.
Loaded symbols for
/usr/lib/libstdc++.so.5
Reading symbols from
/lib/i686/libc.so.6…done.
Loaded symbols for /lib/i686/libc.so.6
Reading
symbols from /lib/libgcc_s.so.1…done.
Loaded symbols for
/lib/libgcc_s.so.1
Reading symbols from /lib/ld-linux.so.2…done.
Loaded
symbols for /lib/ld-linux.so.2
Reading symbols from
/lib/libnss_files.so.2…done.
Loaded symbols for /lib/libnss_files.so.2
#0
0×4202cec1 in __strtoul_internal () from
/lib/i686/libc.so.6
(gdb)

进入gdb提示符,输入where,找到错误发生的位置和堆栈,如下:

(gdb) where
#0 0×4202cec1 in __strtoul_internal () from
/lib/i686/libc.so.6
#1 0×4202d4e7 in strtoul () from
/lib/i686/libc.s

② 如何查询和修改Linux操作系统生成core mp文件的默认路径

经过分析发现系统默认的文件生成路径是/var/logs,但/var/logs目录并非系统自带的,系统初始安装默认自带的是/var/log,最终导致该系统出现core mp后并没能生成core文件,因此如何查询和修改系统默认的core mp文件生产路径呢?方法如下:一. 查询core mp文件路径: 方法1: # cat /proc/sys/kernel/core_pattern方法2: # /sbin/sysctl kernel.core_pattern二. 修改core mp文件路径: 方法1:临时修改:修改/proc/sys/kernel/core_pattern文件,但/proc目录本身是动态加载的,每次系统重启都会重新加载,因此这种方法只能作为临时修改。 /proc/sys/kernel/core_pattern 例:echo ‘/var/log/%e.core.%p’ > /proc/sys/kernel/core_pattern方法2:永久修改:使用sysctl -w name=value命令。 例:/sbin/sysctl -w kernel.core_pattern=/var/log/%e.core.%p为了更详尽的记录core mp当时的系统状态,可通过以下参数来丰富core文件的命名: %% 单个%字符

阅读全文

与core文件位置相关的资料

热点内容
怎么编辑class文件 浏览:237
数据库sock位置 浏览:367
qq好友不在线如何发文件 浏览:386
创享编程是什么 浏览:264
如何筛选出为0的数据 浏览:181
ps6的裁切工具 浏览:799
嘛网络大头怎么回事图片 浏览:721
电脑版微信拽文件到桌面 浏览:144
如何把文件导入数据库中 浏览:638
word如何添加文件链 浏览:470
文件夹是什么格式 浏览:385
android选择视频上传文件 浏览:778
在线苹果如何将q币转到王者荣耀 浏览:91
ie8无法升级到ie10 浏览:836
分散pdf文件 浏览:120
如何选择几个不相邻的文件 浏览:803
数据的编辑什么地震 浏览:971
手机如何在app登录工行公户 浏览:456
济南编程教什么 浏览:446
游戏王arcv安卓版 浏览:653

友情链接