博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用core dump查看程序运行异常
阅读量:4284 次
发布时间:2019-05-27

本文共 652 字,大约阅读时间需要 2 分钟。

Core Dump
又叫核心转存。
当程序在运行过程中发生异常
这时
Linux
统可以把程
序出
错时的内
存内
容存储在一个
core
文件中
这种过程叫
 
Core Dump
Linux应用程序在运行过程中,经常会遇到Segment fault(段错误) 这样的错误。产生这样错误的原因通常有:
1.数组访问越界
2.访问空指针
3.栈溢出
4.修改只读内存
而core dump就是主要用来应付段错误的。
在Linux系统中core dump默认是关闭的,可以通过ulimit来打开/关闭core dump。
打开:ulimit -c unlimited
关闭:ulimit -c 0
使用gdb查看core文件的命令为:gdb 程序名 core文件名。
core dump的使用,以程序seg.c为例。
假设seg.c文件函数为:
void main(){	char *ptr="1234567";	ptr[0]='4';}
该函数可以通过编译,但由于试图修改只读内存,因此运行时会出错。
core dump的使用一般与gdb调试结合起来,因此在打开了core dump的前提下,对该文件进行调试的步骤是:
①gcc -g seg.c -o seg
②./seg       #运行该程序,但系统会提示段错误(core dump)
③通过ls命令查看该目录多出的core文件,假设为core.12592
④gdb ./seg core.12592    #通过该命令可以查看core.12592文件

转载地址:http://wmigi.baihongyu.com/

你可能感兴趣的文章
ARM寻址方式
查看>>
uboot工作流程分析
查看>>
不錯的技術論壇
查看>>
GDB 常用參數
查看>>
pthread man page
查看>>
Linux 如何修改 root 密碼
查看>>
nc 傳輸
查看>>
vi 與 vim 的指令整理
查看>>
console & telnet判斷
查看>>
sqlite3
查看>>
關於如何快速切換目錄(Linux)
查看>>
Save Time with minicom macros
查看>>
svn : how to set the executable bit on a file?
查看>>
vim 取代指令
查看>>
git 修改過檔案後,如何commit上server
查看>>
git log 應用
查看>>
Git 版本控制系統(3) 還沒 push 前可以做的事
查看>>
Git 基礎 - 檢視提交的歷史記錄
查看>>
wifi 連ap command
查看>>
git clean reset checkout
查看>>