gdb调试复习整理及coredump的设置与解析
来源:互联网 发布:网络直销公司排名 编辑:程序博客网 时间:2024/05/17 07:06
一.gdb功能
1.启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。
2.可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)
3.当程序被停住时,可以检查此时你的程序中所发生的事。
4.动态的改变你程序的执行环境。
注:编译时需要添加-ggdb3参数
二.gdb调试常用指令
a).运行gdb
1.gdb binary file //运行可执行程序
2.gdb attach pid //运行进程id
b).设置断点
1.b fun_name(函数名)
2.b file_name.c:xxx(文件对应行)
3.b x(当前文件行号)
c).查看断点
1.i b
d).其他指令
1.r 运行程序直到遇到断点 如果没有就执行至结束
2.c 继续执行程序
3.d break n(断点序号) 删除断点
4.n 单步调试
5.p variable 查看变量值
x按十六进制格式显示变量。
d按十进制格式显示变量。
t按二进制格式显示变量。
c按字符格式显示变量。
f按浮点数格式显示变量。//例:p/x variable
6.finish 结束当前函数
7.q 退出
三.coredump
通常情况下coredmp包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息等。可以理解为把程序工作的当前状态存储成一个文件。许多程序和操作系统出错时会自动生成一个core文件。
a).coredump的设置
1).在终端中输入ulimit -c如果结果为0,说明当程序崩溃时,系统并不能生成core dump
2)使用ulimit -c unlimited命令,开启core dump功能,并且不限制生成core dump文件的大小。如果需要限制,加数字限制即可。ulimit - c1024
3)默认情况下,core dump生成的文件名为core.xxx,而且就在程序当前目录下
4)通过修改/proc/sys/kernel/core_pattern可以控制core文件保存位置和文件格式。例如:将所有的core文件生成到/corefile目录下,文件名的格式为core-命令名-pid-时间戳. echo "/corefile/core-%e-%p-%t" >/proc/sys/kernel/core_pattern
b).coredump的解析方法
1)gdb binnary_file core.XXX
- gdb调试复习整理及coredump的设置与解析
- coredump文件设置及调试
- GDB与coredump错误类文件的解析
- gdb 调试 coredump
- GDB + CoreDump 调试记录
- GDB coredump调试
- GDB + CoreDump 调试记录
- gdb调试coredump文件
- Linux段错误及GDB Coredump调试方法
- gdb coredump 开关及core文件路径,名字设置
- 使用交叉gdb 调试 coredump
- 使用GDB调试Coredump文件
- 用gdb调试coredump文件
- 使用GDB调试Coredump文件
- gdb+gdbserver 调试NE-coredump
- 使用 GDB 调试 CoreDump 文件
- 使用GDB调试Coredump文件
- gdb调试coredump(使用篇)
- logstash日志分析的配置和使用
- [iOS 使用sqllite3.0] 创建表 , 增/删/查/改 常用命令语句
- spark 2.1 BlockManagerInfo
- Java Web项目部署到阿里云服务器
- 如何使用Android Studio把自己的Android library分享到jCenter和Maven Central
- gdb调试复习整理及coredump的设置与解析
- LINUX常用命令
- 项目启动时 org.drools.task报错
- 关于风动草的shader
- iTunesConnect-提交应用屏幕快照图片尺寸
- 从零开始编写深度学习库(二)FullyconnecteLayer CPU编写
- 初次使用ubuntu出现的部分问题与解决方案记录
- iterm设置直接登陆虚拟机(免登陆)
- angular学习心得