欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

gdb 调试 redis

程序员文章站 2022-05-19 14:46:31
...

可以通过 gdb 调试 redis 源码,理解 redis 工作流程。


gdb 常用命令

详细文档通过命令查看:

man gdb
命令 操作
r 运行调试
n 下一步
c 继续运行
ctrl + c 中断信号
c/continue 中断后继续运行
s 进入一个函数
finish 退出函数
l 列出代码行
b 断点
显示断点列表 info b
删除断点 delete number
清除断点 clear
n 下一步
until 跳至行号
until
p 打印
打印数组信息 p *aaa@qq.com
p/x 按十六进制格式显示变量
bt/backtrace 堆栈bt <-n>
-n表一个负整数,表示只打印栈底下n层的栈信息。
f/frame 进入指定堆栈层
f
thread apply all bt 显示线程所有堆栈
attach 绑定进程调试
attach <-p pid>
detach 取消绑定调试进程
disassemble 看二进制数据
disassemble
x 查看内存
focus 显示源码界面
display 显示变量
info registers 查看寄存器

安装 redis

wget http://download.redis.io/releases/redis-3.2.8.tar.gz
tar xzf redis-3.2.8.tar.gz
cd redis-3.2.8
make

调试流程

步骤 命令 描述
1 sudo gdb --args ./src/redis-server redis.conf 启动调试
2 r 运行程序
3 ctrl + c(键盘操作) 中断程序
4 b dict.c:dictAdd 对应代码下断点
5 c 继续运行程序
6 redis-cli
set k5 v5
启动 client 连接redis-server测试(redis 默认端口 6379)
7 focus 进入源码窗口调试
8 bt 程序堆栈(查看接口调用流程)
9 f 0 进入堆栈第 0 层
10 n 单步调试

gdb 调试 redis
gdb 调试 redis


参考

gdb 调试工具 — 使用方法浅析

Linux中gdb 查看core堆栈信息

相关标签: redis