导航:首页 > 文件教程 > 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文件位置相关的资料

热点内容
qq邮件抄送是什么意思 浏览:535
chrome56版本下载视频下载 浏览:13
漫游聊天记录在哪个文件夹 浏览:292
xcode静态库配置文件 浏览:353
java总类 浏览:784
儿童粤苗app接种怎么预约 浏览:830
javascript商品对比 浏览:377
ps精品课程复制文件 浏览:3
js如何弹出页面跳转页面的值 浏览:695
从群里下载文件怎么成了应用软件 浏览:329
文件夹只读怎么设置 浏览:483
视频文件备注 浏览:448
vue实现记住密码 浏览:791
tgp更新的文件在哪个文件夹里 浏览:654
有哪些好的网络规划的书 浏览:511
服务器读取文件路径 浏览:908
win10共享文件xp打不开 浏览:659
pe装机镜像文件路径没选择 浏览:96
打开电脑文件夹层叠太多路径太长 浏览:346
王者荣耀新版本狐狸 浏览:668

友情链接