core dump调试

简介

当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中(core文件),这种行为就叫做 Core Dump 或者叫做 ‘核心转储’,利用 coredump 可以帮助我们快速定位程序崩溃位置。

开启 coredump

#查看ulimit
ulimit -c

#设置ulimit
ulimit -c unlimited
ulimit -c 1024

gdb 常用命令

l(list) ,显示源代码,并且可以看到对应的行号;
b(break)x, x是行号,表示在对应的行号位置设置断点;
p(print)x, x是变量名,表示打印变量x的值
r(run), 表示继续执行到断点的位置
n(next),表示执行下一步
c(continue),表示继续执行
q(quit),表示退出gdb
bt,命令查看函数调用栈,找到自己写的地方,就可以看到哪条语句让程序挂了

gdb加载对应的core dump,需要的格式为:“gdb program_name core_name”

实例

# 调试python的core
gdb python core.6489
# 调试  

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×