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

相关文章
|
1月前
|
机器人 程序员 C++
Scratch3.0——助力新进程序员理解程序(五、控制)
Scratch3.0——助力新进程序员理解程序(五、控制)
46 0
|
15天前
|
存储 缓存 NoSQL
不扒瞎,这个程序让我从150s优化到了5s
在优化一个业务开发组的生产问题时,发现销售管理系统查询数据延迟高达2-3分钟。问题根源在于,程序在for循环中频繁读取Redis大KEY数据,导致性能下降。解决方案是采用本地缓存HutoolCache,将耗时降至毫秒级别。此外,还对RedisTemplate配置进行了研究,Jackson2JsonRedisSerializer在序列化时包括了所有字段,即使字段值为null,增加了数据体积。通过对ObjectMapper的调整,仅序列化非空字段,可以显著提升redis读取性能。本文同时还提醒我们在使用Redis时要注意大对象缓存,强调了正确使用和配置缓存以及避免大对象存储的重要性。
33 5
|
1月前
|
程序员 Python
揭秘单步调试:掌握这一技能让你代码无懈可击
揭秘单步调试:掌握这一技能让你代码无懈可击
18 0
|
1月前
|
存储 机器人 程序员
Scratch3.0——助力新进程序员理解程序(六、监测)
Scratch3.0——助力新进程序员理解程序(六、监测)
52 0
|
6月前
|
NoSQL Shell Python
pwn05(应对简单栈溢出的常规套路)
pwn05(应对简单栈溢出的常规套路)
41 1
|
8月前
|
算法 程序员 编译器
当程序遇上困难:程序调试的艺术(VS)
当程序遇上困难:程序调试的艺术(VS)
48 0
|
10月前
|
存储 Java
java内存机制详解,老年人也看得懂
java内存机制详解,老年人也看得懂
58 0
|
程序员
程序员怎样才能拥有一个健康的身体?底层原理是什么?
程序员怎样才能拥有一个健康的身体?底层原理是什么?
105 0

热门文章

最新文章