本文共 2772 字,大约阅读时间需要 9 分钟。
Linux环境下经常遇到某个进程挂掉而找不到原因,我们可以通过生成core file文件加上gdb来定位。
1 2 3 4 5 6 7 8 9 10 11 12 | #include <stdio.h> int func( int *p) { *p = 0; } int main() { func(NULL); return 0; } |
如何定位到行?
SIGQUIT:终端退出符
SIGILL:非法硬件指令
SIGTRAP:平台相关的硬件错误,现在多用在实现调试时的断点
SIGBUS:与平台相关的硬件错误,一般是内存错误
SIGABRT:调用abort函数时产生此信号,进程异常终止
SIGFPE:算术异常
SIGSEGV:segment violation,无效内存引用
SIGXCPU:超过了cpu使用资源限制(setrlimit)
SIGXFSZ:超过了文件长度限制(setrlimit)
SIGSYS:无效的系统调用
使用GDB可能会提示错误:
第二次安装总结:1、需要先修改“/etc/yum.repos.d/CentOS-Debuginfo.repo”文件的enable=1;2、使用 sudo yum install glibc 安装;3、使用 debuginfo-install glibc-2.12-1.166.el6_7.7.x86_64安装。测试,安装成功。
转载地址:http://zygmb.baihongyu.com/