首页 > 其他分享 >gdb:产生core文件

gdb:产生core文件

时间:2022-08-31 22:12:37浏览次数:85  
标签:core insert into filename gdb 添加 文件

转载地址:https://blog.csdn.net/jiemashizhen/article/details/125016646

 

core文件是调试段错误的重要手段,默认情况下是不会生成core文件的,可通过如下方式对生成core文件进行设置:

1.打开core开关

可以先通过ulimit -c,进行查看,如果输出为0,表示不会生成core文件

可以通过ulimit -c [filesize] 或 ulimit -c unlimited 对core文件的大小进行设置

如果希望每次打开bash这个设置都处于生效状态,可以把ulimit -c unlimited写入bash配置文件:~/.bashrc

2.core文件的生成位置和名字

core文件的生成位置配置在文件:/proc/sys/kernel/core_pattern

core文件的命名方式:

%p - insert pid into filename 添加pid
%u - insert current uid into filename 添加当前uid
%g - insert current gid into filename 添加当前gid
%s - insert signal that caused the coredump into the filename 添加导致产生core的信号
%t - insert UNIX time that the coredump occurred into filename 添加core文件生成时的unix时间
%h - insert hostname where the coredump happened into filename 添加主机名
%e - insert coredumping executable name into filename 添加命令名

比如想产生指定在当前目录下,生成的core文件名格式为:命令名-pid-时间戳

可执行(root身份):

echo "./core-%e-%p-%t" > /proc/sys/kernel/core_pattern

注:

Ubuntu20.04的apport服务每次开机后会自动重写这个文件,如果不使用apport,可以将配置文件/etc/default/apport的enable设置为0来关闭apport。


3.编译选项

编译程序的时候还需要为gcc/g++添加-g选项

自此,如果程序产生了段错误,即可通过gdb启动调试:

gdb [bin_file] [core_file]
————————————————
版权声明:本文为CSDN博主「风静如云」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jiemashizhen/article/details/125016646

标签:core,insert,into,filename,gdb,添加,文件
From: https://www.cnblogs.com/music-liang/p/16644693.html

相关文章

  • 切割文件名
    切割文件名✍️在编写日志库中用到的,和python里的字符串split()用法类似,切割出文件名后,再加-err拼接成err日志名,以后遇到类似的需求,要想到这个小demo!funcmain(){ f......
  • CentOS yum 段错误 (core dumped)解决方法
    CentOSyum段错误(coredumped)解决方法_RedHat/Centos_操作系统_脚本之家 https://www.jb51.net/os/RedHat/208481.html今天在yuminstall或者yumupdate的时候都提......
  • linux下载文件命令
    linux下载文件命令-pretty_田纳西-博客园 https://www.cnblogs.com/pretty-ru/p/10936023.htmlwget命令wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很......
  • Linux下用ls和du命令查看文件以及文件夹大小
    Linux下用ls和du命令查看文件以及文件夹大小-雪球球-博客园 https://www.cnblogs.com/xueqiuqiu/p/7635722.htmlls的用法ls-l|grep"^-"|wc-l或find./compan......
  • Java实现greenplum数据库中csv文件的导入和导出
    Java实现greenplum数据库中csv文件的导入和导出背景:greenplum数据库是在开源的PostgreSQL的基础上采用MPP架构实现的关系型分布式数据库,在使用greenplum数据库进行开发的......
  • golang解析yaml文件
    golang解析yaml文件yaml文件是目前最常用的配置文件,使用go语言编写代码和工具时,也会用到yaml文件,将服务配置及中间件等信息定义到yaml文件中,那么如何将yaml文件中定......
  • 这个Python读取文件的方法,堪称天花板级别...
    序言哈喽兄弟们,今天咱们来了解一下fileinput。说到fileinput,可能90%的码农表示没用过,甚至没有听说过。这不奇怪,因为在python界,既然open可以走天下,何必要filein......
  • django版本配置问题,静态文件,orm,orm的使用
    django版本配置问题解决及其他django初始配置静态文件及相关配置静态文件static动态解析static配置请求方法(GETPOST)request对象方法pycharm链......
  • 【Java】FileUtils-获取路径的所有文件(或文件夹)
    一、获取指定路径下的所有Excel文件packagecom.boulderaitech.utils;importjava.io.File;importjava.util.Arrays;publicclassFileUtil{publicstaticvo......
  • ET框架7 StartConfig配置文件分析
    StartMachineConfigId内网地址外网地址守护进程端口IdInnerIPOuterIPWatcherPortintstringstringstring1127.0.0.1127.0.0.110000StartPro......