Redis-VScode调试源码

环境准备

系统环境

  • 主机系统 :Windows 11 专业版
  • 子系统:Ubuntu 22.04.1 LTS

软件下载

自行下载安装 VSCode

源码下载

可以直接从GitHub下载 redis/redis


git clone https://github.com/redis/redis.git
cd redis
git checkout 7.0.11 

这样就切换到了7.0.11版本(可以根据自己的需求切换其它的版本)

调试配置

打开代码、安装插件

打开VSCode,ctrl+shift+p然后输入wls,选择Open Folder in WSL,打开之前下载的redis源码目录。

VSCode插件中搜索C/C++并安装。

配置debug

新建这两个文件

launch.json

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "redis",
      "type": "cppdbg",
      "request": "launch",
      "program": "${workspaceFolder}/src/redis-server",
      "args": [
        "redis.conf"
      ],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "preLaunchTask": "build",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        },
        {
          "description": "Set Disassembly Flavor to Intel",
          "text": "-gdb-set disassembly-flavor intel",
          "ignoreFailures": true
        }
      ]
    }
  ]
}

tasks.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build", 
            "type": "shell", 
            "command": "make",
            "args": [
                "CFLAGS=\"-g -O0\""
            ]
        }
    ]
} 

断点调试

可以在src/commands.c中搜索找到要调试的命令,比如set命令:

如图所示,set命令对应的是setCommand函数,可以到setCommand中打断点

启动调试命令:

成功后会启动redis-server

本地连接并输入set命令:

可以看到,命令正常阻塞到了断点处,后面就可以愉快的调试学习Redis源码了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值