老年人编程系列 - 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)

相关文章
|
4月前
|
并行计算 算法 Linux
《Linux中,进程与线程究竟暗藏何种神秘作用?探索系统运行背后的关键力量等你来揭秘!》
【8月更文挑战第21天】在Linux中,进程和线程是核心概念。进程作为程序执行的实例,拥有独立的地址空间和资源,支持多任务处理并确保系统稳定性。线程则是进程内的执行单元,共享同一地址空间,能以较低成本实现高并发和并行计算,提高程序执行效率。合理运用进程和线程可优化系统管理和软件开发。
34 3
|
3月前
|
网络协议 NoSQL Anolis
开局一张图,debug全靠瞪|内核问题定位与静态分析实战
本文描述了一个在AnolisOS 8.8操作系统上遇到的内核崩溃问题的调试过程。
|
4月前
|
Linux
揭秘Linux心脏:那些让你的编程事半功倍的主要系统调用
【8月更文挑战第31天】Linux中的系统调用是操作系统提供给应用程序的接口,用于请求内核服务,如文件操作、进程控制等。本文列举了22种主要系统调用,包括fork()、exec()、exit()、wait()、open()、close()、read()、write()等,并通过示例代码展示了如何使用fork()创建新进程及使用open()、write()、close()操作文件。这些系统调用是Linux中最基本的接口,帮助应用程序与内核交互。
63 1
|
4月前
|
Linux Shell 数据库
【绝技大公开】Linux文件查找新招式:打破常规,探索那些鲜为人知的技巧,让你成为真正的文件追踪大师!
【8月更文挑战第13天】文件查找是Linux用户必备技能,能大幅提升工作效率。本文介绍几种高效查找方法,包括使用`column`美化`find`输出、利用`locate`和`mlocate`快速搜索、编写脚本自动化任务、采用`fd`现代工具提升查找体验,以及结合`grep`和`rg`搜索文件内容。此外,还推荐了`Gnome Search Tool`和`Albert`等图形界面工具,为用户提供多样选择。掌握这些技巧,让你的工作更加得心应手。
52 2
|
3月前
|
存储 自然语言处理 搜索推荐
探索OS Copilot——那款让你瞬间变身超级用户、编程如呼吸般自然、文件管理如同魔法般的神奇操作系统辅助神器!
【9月更文挑战第4天】“OS Copilot”是一款高效的操作系统辅助软件,通过智能化手段简化电脑使用,涵盖智能命令建议、代码片段生成、文件管理及任务自动化等强大功能。其简洁的界面与友好的用户体验使其成为提升生产力的理想选择,无论是专业人士还是普通用户都能从中受益。从安装到实际应用都非常流畅,能显著提升工作效率,是优化数字生活的得力助手。
46 0
|
7月前
|
存储 机器人 程序员
Scratch3.0——助力新进程序员理解程序(六、监测)
Scratch3.0——助力新进程序员理解程序(六、监测)
88 0
|
算法 程序员 编译器
当程序遇上困难:程序调试的艺术(VS)
当程序遇上困难:程序调试的艺术(VS)
73 0
|
存储 消息中间件 Linux
一篇文章教会你什么是Linux进程控制(上)
进程创建 1.fork函数初识 在Linux上一篇文章进程概念详解我们提到了在linux中fork函数是非常重要的函数,它从已存在进程中创建一个新进程。新进程为子进程,而原进程为父进程。
|
Unix Shell Linux
一篇文章教会你什么是Linux进程控制(下)
3.3 进程等待示例 #include <stdio.h> #include <unistd.h> #include <stdlib.h>
|
存储 Java
java内存机制详解,老年人也看得懂
java内存机制详解,老年人也看得懂
80 0