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

相关文章
|
3月前
|
网络协议 NoSQL Anolis
开局一张图,debug全靠瞪|内核问题定位与静态分析实战
本文描述了一个在AnolisOS 8.8操作系统上遇到的内核崩溃问题的调试过程。
|
4月前
|
存储 自然语言处理 搜索推荐
【颠覆你的数字生活!】探索OS Copilot——那款让你瞬间变身超级用户、编程如呼吸般自然、文件管理如同魔法般的神奇操作系统辅助神器!
【8月更文挑战第8天】OS Copilot是一款新兴的操作系统辅助软件,通过智能化手段简化电脑使用,从办公到开发全面赋能。安装简易,启动即有引导教程。其智能命令建议功能,可在命令行输入时提供后续选项及其说明,特别适合Linux用户。内置代码片段生成器,根据需求或代码框架自动生成代码,大幅提升开发效率。文件管理助手支持批量操作且可预览结果,降低误操作风险。任务自动化功能便于设置重复性工作流程,如定时备份。搜索功能强大,支持自然语言查询。尽管尚有改进空间,OS Copilot已是提升生产力的得力助手。
113 5
|
3月前
|
存储 自然语言处理 搜索推荐
探索OS Copilot——那款让你瞬间变身超级用户、编程如呼吸般自然、文件管理如同魔法般的神奇操作系统辅助神器!
【9月更文挑战第4天】“OS Copilot”是一款高效的操作系统辅助软件,通过智能化手段简化电脑使用,涵盖智能命令建议、代码片段生成、文件管理及任务自动化等强大功能。其简洁的界面与友好的用户体验使其成为提升生产力的理想选择,无论是专业人士还是普通用户都能从中受益。从安装到实际应用都非常流畅,能显著提升工作效率,是优化数字生活的得力助手。
46 0
|
6月前
|
存储 缓存 NoSQL
不扒瞎,这个程序让我从150s优化到了5s
在优化一个业务开发组的生产问题时,发现销售管理系统查询数据延迟高达2-3分钟。问题根源在于,程序在for循环中频繁读取Redis大KEY数据,导致性能下降。解决方案是采用本地缓存HutoolCache,将耗时降至毫秒级别。此外,还对RedisTemplate配置进行了研究,Jackson2JsonRedisSerializer在序列化时包括了所有字段,即使字段值为null,增加了数据体积。通过对ObjectMapper的调整,仅序列化非空字段,可以显著提升redis读取性能。本文同时还提醒我们在使用Redis时要注意大对象缓存,强调了正确使用和配置缓存以及避免大对象存储的重要性。
66 5
|
5月前
|
监控 Linux
Linux脚本之监控系统内存使用情况并给予警告
Linux脚本之监控系统内存使用情况并给予警告
|
算法 程序员 编译器
当程序遇上困难:程序调试的艺术(VS)
当程序遇上困难:程序调试的艺术(VS)
69 0
|
存储 Java
java内存机制详解,老年人也看得懂
java内存机制详解,老年人也看得懂
79 0
|
NoSQL Linux API
Linux应用开发之coredump
程序崩溃往往是最不好调试的,如果是很容易复现的现象,可能我们还可以比较容易分析出问题所在。但是对于那种需要几天,或者在某种特殊条件下才能触发的现象。我们总不能一直守着,所以这个时候就需要系统帮我们把崩溃的一些信息记录下来,也就是接下来要提到的coredump。
|
存储 程序员 编译器
【C/调试实用技巧】—作为程序员应如何面对并尝试解决Bug?
【C/调试实用技巧】—作为程序员应如何面对并尝试解决Bug?
150 0
|
程序员
程序员怎样才能拥有一个健康的身体?底层原理是什么?
程序员怎样才能拥有一个健康的身体?底层原理是什么?
124 0