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

相关推荐
凡人叶枫6 分钟前
Effective C++ 条款35:考虑 virtual 函数以外的其他选择
java·c++·spring
郝学胜-神的一滴12 分钟前
CMake 017:彩色日志输出实战
linux·c语言·开发语言·c++·软件工程·软件构建·cmake
桀人41 分钟前
C++——string类的详细介绍
开发语言·c++
插件开发1 小时前
vs2015 cuda c++ cdpSimplePrint范例,递归功能实现演示
linux·c++·算法
zh_xuan2 小时前
PC端操作SQLite数据库
数据库·c++·sqlite
CHHH_HHH2 小时前
【C++】哈希表原理与实战:从冲突解决到性能优化
开发语言·数据结构·c++·学习·算法·哈希算法·散列表
fpcc2 小时前
并行编程实战——CUDA编程的pipelines
c++·cuda
Tairitsu_H2 小时前
[LC优选算法#5] 分治:快排 | 颜色分类 | 排序数组 | 第K大元素
c++·算法·leetcode·排序算法·快速排序
Frank学习路上2 小时前
【C++】面试:STL容器与算法
c++·算法·面试
凡人叶枫2 小时前
Effective C++ 条款33:避免遮掩继承而来的名字
linux·服务器·开发语言·c++·嵌入式开发