永发信息网

什么是Core Dump?怎么使用?

答案:2  悬赏:20  手机版
解决时间 2021-03-29 10:06
  • 提问者网友:人傍凄凉立暮秋
  • 2021-03-28 18:44
什么是Core Dump?怎么使用?
最佳答案
  • 五星知识达人网友:神也偏爱
  • 2021-03-28 19:26
一.首先什么是core dump?
Core的本身意思是内存, Dump的本身意思是扔堆出来。
当我们开发并且使用 Unix程序时, 有时程序会down了, 却没有任何的提示这时候你可以查看一下有没有样子像core.进程号的文件生成, 这个文件是操作系统把程序down掉时的内存内容扔出来生成的, 它可以做为调试程序的参考。
总的来说core dump其实叫核心转储, 它是当程序运行过程中发生异常,  由操作系统把程序当前的内存状况存储在一个core文件中, 所以叫core dump。
二.怎么使用Core Dump?
首先我们打开Linux下,然后使用: 
#gdb -c core.pid program_name 
就可以进入gdb模式。 
输入where,就可以指出是在哪一行被Down掉,哪个function内,怎么调用等等。 
(gdb) where 
或者输入 bt。 
(gdb) bt 。
全部回答
  • 1楼网友:青灯有味
  • 2021-03-28 21:06
开发和使用Unix程序时, 有时程序莫名其妙的down了, 却没有任何的提示(有时候会提示core dumped). 这时候可以查看一下有没有形如core.进程号的文件生成, 这个文件便是操作系统把程序down掉时的内存内容扔出来生成的, 它可以做为调试程序的参考.core dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump.gdb -c core文件路径 [应用程序的路径]进去后输入where回车, 就可以显示程序在哪一行当掉的, 在哪个函数中.有时候程序down了, 但是core文件却没有生成. core文件的生成跟你当前系统的环境设置有关系, 可以用下面的语句设置一下, 然后再运行程序便成生成core文件.core文件生成的位置一般于运行程序的路径相同, 文件名一般为core.进程号
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯