gdb调试redis。sudo

1.先启动redis-server和一个redis-cli。

2.ps -aux|grep reids查看redis相关进程。

3.开始以管理员模式附加进程调试 sudo gdb -p 2968.注意这里不能不加sudo,因为Redis 可能以 root 用户启动,普通用户无法附加到该进程。否则就会出现可能下列情形,后续添加断点后并不生效。

4.翻找一下redis源码dict.c,找到set key value在八百多行

5.执行语句 b dict.c:838加入断点

6.执行 c让程序从当前的断点位置继续执行

7.在redis客户端端中执行语句,set key value

8.然后程序在断点处停下来,比如先通过bt来查看调用堆栈。然后通过一系列命令s进入函数调试等等

相关推荐
Terrence Shen1 小时前
【CUDA编程系列】之01
c++·人工智能·深度学习·机器学习
墨有6661 小时前
数学分析栈的出栈顺序:从算法判断到数学本质(卡特兰数初探)
c++·算法·数学建模
yuankunliu1 小时前
【redis】1、Redis的安装部署
数据库·redis·缓存
liulilittle2 小时前
LIBTCPIP 技术探秘(tun2sys-socket)
开发语言·网络·c++·信息与通信·通信·tun
yyy(十一月限定版)2 小时前
c++(3)类和对象(中)
java·开发语言·c++
DYS_房东的猫2 小时前
写出第一个程序
c++
ulias2122 小时前
AVL树的实现
开发语言·数据结构·c++·windows
山上三树2 小时前
详细介绍 C/C++ 中的内存泄漏
c语言·c++
optimistic_chen2 小时前
【Redis 系列】持久化特性
linux·数据库·redis·分布式·中间件·持久化
CSDN_RTKLIB2 小时前
CMake构建目标核心命令
c++