再谈Segmentation fault (core dumped)问题 -查找段错误原因
2014-10-08 14:30
621 查看
再谈Segmentation fault (core dumped)问题 -查找段错误原因
在前一篇文章“Segmentation fault (core dumped) ”有说了具体core dumped产生的原因。
下面主要来介绍下问题的解决与查找,在linux下一般都使用gdb进行调试,那今天我就以Ubuntu 14.04环境作为介绍
来查找正在的core dumped的原因。需要说明的是,你在编译程序的时候要加调试选项 -g。
$ gcc -o app reverse.c -g
语法:gdb 应用 core
$ gdb app core.36129
这样出来的会有一堆东西,咱们先别管,在输入行中输入where.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Core was generated by `./app'.
Program terminated with signal 11, Segmentation fault.
#0 0x0000003262a56ed0 in _IO_vfscanf_internal () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.107.el6.x86_64
(gdb) where
#0 0x0000003262a56ed0 in _IO_vfscanf_internal () from /lib64/libc.so.6
#1 0x0000003262a646cd in __isoc99_scanf () from /lib64/libc.so.6
#2 0x0000000000400607 in main () at reverse.c:10
(gdb)
这就回显示就是core是发生在什么地方,首先你看的顺序从列表的下方往上看,因为这是一个“栈”的顺序。
你可以马上可以看到是什么原因导致的,有兴趣的可以试试看。
另外需要注意的是,如果你的机器上跑很多的应用,你生成的core又不知道是哪个应用产生的,你可以通过下列命令
进行查看:file core
[/ipla_app01/test/]$ l
total 124
-rwxrwxr-x 1 ipla_app01 ipla_app01 8438 Oct 8 14:12 app
-rw------- 1 ipla_app01 ipla_app01 200704 Oct 8 14:17 core.36129
-rw-rw-r-- 1 ipla_app01 ipla_app01 386 Oct 8 14:11 reverse.c
[/ipla_app01/test/]$ file core.36129
core.36129: ELF 64-bit LSB core file x86-64, version 1 (SYSV), SVR4-style, from './app'
相关文章推荐
- ARM Cortex-M 错误追踪库,专治各种 HardFault,查找问题原因更便利
- 【分布式Tensorflow(0.11.0)问题 未解决】Segmentation fault (core dumped)
- 使用gdb 查找运行的segmentation fault(core dumped)
- Segmentation fault (core dumped)出错原因及位置分析
- [转载]利用GDB调试segmentation fault (core dumped)错误
- Linux Segmentation Fault 段错误 产生原因调试方法
- Segmentation fault (core dumped)
- 根据友盟错误信信息反编译 通过崩溃trace来查找问题原因
- Python 脚本运行时Segmentation fault (core dumped)
- Segmentation fault(core dumped) 调试
- Segmentation fault (core dumped)
- apt-get install xxx Segmentation fault (core dumped)
- Segmentation fault (core dumped)
- segment fault 段错误 (core dumped)的起因分析!
- yum 出错,提示Segmentation Fault (core Dumped) 的解决办法
- Linux环境下段错误(Segmentation fault)的产生原因及调试方法小结
- 查看core dumped的详细错误原因
- Segmentation fault (core dumped)
- linux Ubuntu(Segmentation fault)段错误出现原因及调试方法