c编译段错误 (core dumped) gdb调试
说明环境
ubuntu 18.04
一、开启 生成coredump文件
ulimit -c unlimited
二、创建存储 coredump 文件地方
cd ~ mkdir coredump_files echo '/home/${USER}/coredump_files/%t-%e-%p-%c.core' > /proc/sys/kernel/core_pattern
将更改core文件生成路径,自动放在这个/home/${USER}/coredump_files文件夹里。
%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 添加程序名
三、提示权限不够:
1.用 sudu 提示权限不够
sudo echo '/home/${USER}/coredump_files/%t-%e-%p-%c.core' > /proc/sys/kernel/core_pattern
2.进入 root 用户执行下面两条命令
su echo '/home/${USER}/coredump_files/%t-%e-%p-%c.core' > /proc/sys/kernel/core_pattern
3.如果不行,执行下面命令修改root密码(修改过略过此命令)
su passwd
输入要设置的密码。
设置好密码重新执行第2步。
四、将执行编译时 stage1flex 二进制文件,复制到 coredump_files 文件夹里,
方便使用(指定二进制绝对路径也可以)下面是make 编译 flex-2.6.4 时报错.
./stage1flex -o stage1scan.c ./scan.l Makefile:1696: recipe for target 'stage1scan.c' failed make[2]: *** [stage1scan.c] 段错误 (core dumped) make[2]: 离开目录“/home/qt/byd-nidps-3lib/flex-2.6.4/src” Makefile:546: recipe for target 'all' failed make[1]: *** [all] Error 2 make[1]: 离开目录“/home/qt/byd-nidps-3lib/flex-2.6.4/src” Makefile:533: recipe for target 'all-recursive' failed make: *** [all-recursive] Error 1
五、使用命令调试:
cd /home/${USER}/coredump_files/ gdb -c 1698303384-stage1flex-27879-18446744073709551615.core stage1flex bt
输入bt 后可以看到绿色箭头处,提示源码 main.c文件第 976 行出问题
1698303384-stage1flex-27879-18446744073709551615.core 文件要改成你实际文件
之后就可以去修改源码中的问题了
免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。
参考、来源:
https://blog.csdn.net/weixin_40877924/article/details/108762118
https://blog.csdn.net/qq_43740943/article/details/105476108
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)