接触core dump
来源:互联网 发布:宝德网络江西分公司 编辑:程序博客网 时间:2024/06/05 09:07
初学C者,很容易遇到core dumped错误。 一般都知道是内存错误。但错误具体在哪,出了什么问题,往往就无从下手了。下面简单说一下如果搞定core dumped问题。
core dumped,就是由于进程试图访问不该访问的内容等原因,被系统捕捉到之后,扔(dump)给用户的一张情况说明表。
对于用户,首先要设置允许接受系统扔过来的core文件。我们可以通过
$ ulimit -a
查看用户限制状况。 -c 一行对应的,就是用户允许生成的core文件大小。默认为零,就是不分配空间接受core文件。我们可以改为4096,或者其他适合大小,但不建议设置unlimited,以免系统垃圾文件过多。这里设置为4091
$ulimit -c 4096
接下来可以手动强制dumping core。
首先编辑一个简单的c程序, 在里面加上sleep语句,以防止进程过早结束。 编译时加上-g选项。然后运行。在运行结束前,按下CTRL+\ 。 如果程序在后台运行,就执行$ kill -3 pid, 这pid要换成对应进程编号。然后
$ls core.*
就可以观察到生成的core文件。假定生成的core文件为 core.8888。
接下来使用gdb调试
gdb a.out core.8888
输入where,查看崩溃时堆栈信息。 其他的就和普通gdb调试一模一样了。
0 0
- 接触core dump
- Core Dump
- Core Dump
- Core Dump?!
- Core Dump?!
- Core Dump?!
- core dump
- core dump
- Core Dump
- core dump
- Core dump
- core dump
- Core Dump
- core dump
- core dump
- Core Dump
- core dump
- Core Dump
- 某银行高级软件需求分析师内训圆满结束!
- 正确设置 php-fpm子进程用户 提高网站安全性 防止被挂木马
- C/C++基本数据类型所占字节数
- 模拟浏览器、屏幕大小和 GPS 位置
- BZOJ 2820 YY的GCD 莫比乌斯反演
- 接触core dump
- 为什么Android系统需要使用C、C++和Java语言共同开发
- Android隐藏或显示软键盘
- android 再按一次退出程序和弹框
- SCALA 集合框架文档翻译-Trait Traversable
- 遇到“此网站的安全证书有问题”怎么办
- 改变input的placeholder颜色
- 强、软、弱、虚引用+ReferenceQueue
- MySQL设置远程登录