core dump

什么是Core Dump?

今天调试一个程序, 用到了core dump, 因而写出来, 记于此.
什么是Core Dump?
Core的意思是内存, Dump的意思是扔出来, 堆出来.
开发和使用Unix程序时, 有时程序莫名其妙的down了, 却没有任何的提示(有时候会提示core dumped). 这时候能够查看一下有没有形如core.进程号的文件生成, 这个文件即是操做系统把程序down掉时的内存内容扔出来生成的, 它能够作为调试程序的参考.
core dump又叫核心转储, 当程序运行过程当中发生异常, 程序异常退出时, 由操做系统把程序当前的内存情况存储在一个core文件中, 叫core dump.

如何使用core文件?
gdb -c core文件路径 [应用程序的路径]
进去后输入where回车, 就能够显示程序在哪一行当掉的, 在哪一个函数中.

为何没有core文件生成呢? 有时候程序down了, 可是core文件却没有生成. core文件的生成跟你当前系统的环境设置有关系, 能够用下面的语句设置一下, 而后再运行程序便成生成core文件. ulimit -c unlimited core文件生成的位置通常于运行程序的路径相同, 文件名通常为core.进程号
相关文章
相关标签/搜索