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

相关推荐
樱木Plus9 小时前
深拷贝(Deep Copy)和浅拷贝(Shallow Copy)
c++
雨中飘荡的记忆2 天前
大流量下库存扣减的数据库瓶颈:Redis分片缓存解决方案
java·redis·后端
blasit2 天前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip
曲幽2 天前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
肆忆_3 天前
# 用 5 个问题学懂 C++ 虚函数(入门级)
c++
不想写代码的星星3 天前
虚函数表:C++ 多态背后的那个男人
c++
端平入洛5 天前
delete又未完全delete
c++
端平入洛6 天前
auto有时不auto
c++
哇哈哈20217 天前
信号量和信号
linux·c++
多恩Stone7 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc