linux core 怎么打开

linux core 怎么打开,第1张

core文件是由应用程序收到系统信号后崩溃产生的,该文件中记录了程序崩溃的原因(例如收到那种信号),调用堆栈和崩溃时的内存及变量值等等的信息。

打开core文件与编译时使用的编译器有关,但绝大多数linux程序是使用gcc编译器编译的,因此可使用对应gdb调试器打开,命令格式如下:

$ gdb 应用程序文件名 core文件名

举例:

$ gdb /usr/bin/gedit ~/core------ 查看由gedit崩溃产生的core文件

(gdb) bt------ 或者backtrace, 查看程序运行到当前位置之前所有的堆栈帧情况)

(gdb) quit ------ 退出

如果不知道core文件由哪个文件产生的,可使用file命令显示

$ file core

关于UNIX/Linux系统下面产生的core文件,根据我使用系统的经验,通常是由于自己在编写程序的过程中,由于自己的疏忽,使自己编写的程序产生了数组越界、或者是程序中的指针指向了一块无效的内存区域,产生的内存溢出错误。这一点在C语言编程过程中尤为明显,即:虽然定义了一个指针变量,但是未对该变量进行初始化、且判断该指针是否为空指针,而在后面的程序中又使用到了该变量,这时候肯定就会产生内存溢出错误。通常产生的提示信息就是:Segmentfault,CoreDumped!此时再一看自己当前工作的目录下面,就会自动产生出一个文件名为core的文件,通常该文件占得空间也是比较大的,至少好几兆字节。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7148758.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存