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进入函数调试等等

相关推荐
郝学胜-神的一滴几秒前
Linux下,获取子进程退出值和异常终止信号
linux·服务器·开发语言·c++·程序人生
java1234_小锋11 分钟前
REDIS集群会有写操作丢失吗?为什么
数据库·redis·缓存
notfindjob25 分钟前
MFC动态加载图片
c++·mfc
CodeByV35 分钟前
【C++】继承
开发语言·c++
乱舞八重击(junluoyu)2 小时前
1.PagedAtteion算法
c++
2301_803554522 小时前
C++ 锁类型大全详解
开发语言·c++
曼巴UE52 小时前
UE5 C++ Slate 画曲线
开发语言·c++·ue5
ue星空2 小时前
UE5C++UKismetMathLibrary源代码
c++·ue5
向阳而生,一路生花3 小时前
redis离线安装
java·数据库·redis
minji...3 小时前
C++ 面向对象三大特性之一---多态
开发语言·c++