linux下core dump文件分析
#include
#include
int main()
{
char *str = "hello";
strcpy(str, "furong");
return 0;
}
产生core文件
gcc dump.c -g
开启core dump功能
ulimit -c unlimited
查看core文件
zxc@ubuntu:~/test$ gdb a.out
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
.
Find the GDB manual and other documentation resources online at:
.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from a.out...done.
(gdb) core-file core
[New LWP 8716]
Core was generated by `./a.out'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00000000004004e6 in main () at dump.c:8
8 strcpy(str, "furong");
(gdb) q
addr2line
zxc@ubuntu:~/test$ addr2line -e a.out 0x00000000004004e6 -f
main
/home/zxc/test/dump.c:8