通过/var/log/message看后端错误
关注关键字段:如 segfault、oom、socket 、kernel等
Segmentation Fault
Jan 23 09:09:40 localhost kernel: worker-0[29016]: segfault at 7f52943ff000 ip 00007f529a102c3c sp 00007f52957e1d38 error 4 in libc-2.17.so[7f5299fa8000+1c2000]
Jan 23 12:17:48 localhost kernel: worker-0[29163]: segfault at 7fcaadbff000 ip 00007fcab37ccc28 sp 00007fcaaeee1d38 error 4 in libc-2.17.so[7fcab3672000+1c2000]
- 可能原因:
- 空指针解引用。
- 数组越界。
- 使用未初始化的指针。
- 释放了已经释放的内存。
- 动态库加载问题(如缺少符号或库版本不匹配)。
- 分析方法
结合日志和代码位置:
日志中的 ip 是指令指针,sp 是栈指针。
使用 addr2line 将 ip 地址转换为代码位置:
addr2line -e your_program 0x00007ffd1234
输出会显示对应的源码文件和行号。(但如果程序编译时没有-g添加调试信息,可能无法显示行号;如果message中报错的是动态库,这种方法也不适用,只能开启coredump分析)
Killed by OOM
Jan 24 10:20:50 hostname kernel: Out of memory: Kill process 12345 (your_program) score 345 or sacrifice child
Jan 24 10:20:50 hostname kernel: Killed process 12345 (your_program), UID 1000, total-vm:123456kB, anon-rss:56789kB
Library/Dynamic Linking Errors
Jan 24 10:25:10 hostname your_program[12345]: error while loading shared libraries: libmylib.so.1: cannot open shared object file: No such file or directory
- 可能原因
- 动态库文件缺失或路径配置错误。
- 动态库版本不匹配。
- 分析方法
1、检查库文件路径:
ldconfig -p | grep libmylib
2、查看程序的依赖库:
ldd your_program
检查输出中是否有 not found。

浙公网安备 33010602011771号