redis6.2.6 + linux centos7 + vs code remote ssh debug环境搭建方式


最近在学习redis的源码。在网上看了很多相关环境搭建。发现用的都是JetBrains的Clion。vs code相关的资料很少。

所以在此介绍一下如何用vscode 搭建redis debug环境。

一.linux配置:

 很简单。把redis的源码包放在你想放的文件目录下就行了。git clone或者下载到你的宿主机传到linux下就行了。我这边是在/home/redis-test下。

二.vs code设置:

1.本地包安装

这是我安装的包。必须的就是C/C++,CMAKE,CMAKE TOOL,REMOTE SSH.

2.连接到虚拟机:

安装完remote ssh后,就能连接到虚拟机了。方法如下:(可能这个界面会不太一样,不过应该是差不多的,反正添加ssh就行了)

在方框内按格式输入就能成功连接了。以我的环境举例,输入:ssh root@192.168.1.11 -A

然后他会让你选择config文件的保存路径和输入密码。

另外这里有个小技巧。每次ssh连接到虚拟机时,总要再次输入密码。这时候你可以配置 ssh互信。就不用每次输入密码了。相关方法我给一个链接:https://blog.csdn.net/u014661152/article/details/109337818

4.linux相关包安装:

这个时候你就能成功的连接到linux虚拟机了。然后按照如下方法安装包。

 为了方便,直接点那个云一样的图标就行了。那个图标能直接安装全部你在local安装的包。

5.打开redis路径,进行配置:

 打开file->open folder。输入你的redis源码包路径。

 点击第一步,将CMAKE调整为debug模式。点击第二步,选择gcc版本。(我的gcc是4.8.5。具体的版本请看redis官方要求。)

然后进入你的redis目录,直接make

然后回到vscode 直接F5 选择c++(GDB/LLDB)。

然后你会发现你的工作目录下,出现了一个.vscode的隐藏文件夹。现在你需要在这个隐藏文件夹下编辑两个文件:

 task.json:

{     "version": "2.0.0",     "tasks": [         {             "label": "shell",             "type": "shell",             "command": "/usr/bin/make",             "args": [                 "CFLAGS=\"-g -O0\""             ]         }     ] }   launch.json: {     "version": "0.2.0",     "configurations": [        
        {             "name": "redis-server",             "type": "cppdbg",             "request": "launch",             "program": "${workspaceFolder}/src/redis-server",             "args": ["./redis.conf"],             "stopAtEntry": false,             "cwd": "${workspaceFolder}",             "environment": [],             "externalConsole": false,             "MIMode": "gdb",             "preLaunchTask": "shell",             "miDebuggerPath": "/usr/bin/gdb"         }     ] }   (路径请按自己的环境来。另外args那一行,指定的是启动参数,即redis的配置文件,这里不明白的话,用绝对路径就行了)   然后现在在server.c的6158行打上一个断点。直接F5。就能愉快的开始调试redis了。