老年人编程系列 - 999种coredump的方法-阿里云开发者社区

开发者社区> 云计算> 正文

老年人编程系列 - 999种coredump的方法

简介: 本文持续更新 SIGSEGV 进程试图写不能写的内存 char *p = 0; *p = 1; segfault at 0 ip 0000000000400541 sp 00007ffc4eba93e0 error 6 in a.

本文持续更新

SIGSEGV

进程试图写不能写的内存

char *p = 0;
*p = 1;

segfault at 0 ip 0000000000400541 sp 00007ffc4eba93e0 error 6 in a.out[400000+1000]

进程试图读不能读的内存

char *p = 0;
char c = *p;

segfault at 0 ip 00000000004004fd sp 00007ffe321ef0f0 error 4 in a.out[400000+1000]

double free

char *p = malloc(128);
free(p);
free(p);

Error in `./a.out': double free or corruption (fasttop): 0x0000000000a42010

======= Backtrace: =========
/lib64/libc.so.6(+0x81499)[0x7fbe685b9499]
./a.out[0x4005ab]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x7fbe6855a445]
./a.out[0x4004b9]
======= Memory map: ========
00400000-00401000 r-xp 00000000 fd:11 56369896 /mnt/situo.cly/yq/a.out
...
[heap]
7fbe64000000-7fbe64021000 rw-p 00000000 00:00 0
...
Aborted (core dumped)

SIGABRT

abort();
assert(0);

Aborted (core dumped)

SIGFPE

int x = 3 / 0;

Floating point exception (core dumped)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章