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

相关推荐
45W冲冲冲1 小时前
WIN10+CMAKE+MinGW+Opencv/C++ 和VScode开发环境搭建
c++·vscode·opencv
春蕾夏荷_7282977251 小时前
MFC 对话框中显示CScrollView实例
c++·mfc·cscrollview
材料苦逼不会梦到计算机白富美2 小时前
极客时间 《Redis核心技术与实战》01 | 基本架构:一个键值数据库包含什么?知识总结
数据库·redis·架构
originalHSL3 小时前
Load-Balanced-Online-OJ(负载均衡式在线OJ)
linux·c++·git·vscode·http·https·json
zhangzhangkeji3 小时前
C++ function 源码分析(5):is_const_v<const 函数> = False ,源码注释及资源
开发语言·c++·stl 库源码
暮雨c3 小时前
阿里云VLDB顶会论文在Async-fork在redis中应用解读
数据库·redis·缓存
mit6.8243 小时前
[Redis#0] iredis: linux上redis超好用的环境配置
linux·redis·后端
Allen Roson3 小时前
CListCtrl::InsertItem和临界区导致程序卡死
c++·windows·insertitem卡死·clistctrl插入项目·临界区死锁
陌小呆^O^3 小时前
Cmakelist.txt之Linux-redis配置
linux·运维·redis
酒鬼猿3 小时前
C++初阶(十五)--STL--list 的深度解析与全面应用
开发语言·c++