使用vscode(gdb)调试redis
想学习redis源码,网上都是推荐gdb,但是终端调试不直观,想着vscode也是gdb调试的就试了下,结果发现可行
环境:
ubuntu 18.04
vscode version: 1.31.1
下载与编译redis
下载redis
$ wget https://github.com/antirez/redis/archive/5.0.2.tar.gz
$ tar -zvxf 5.0.2.tar.gz
$ cd redis-5.0.2
$ make
下载安装vscode$ wget https://az764295.vo.msecnd.net/stable/1b8e8302e405050205e69b59abb3559592bb9e60/code_1.31.1-1549938243_amd64.deb
$ sudo dpkg -i code_1.31.1-1549938243_amd64.deb
调试redis在菜单栏中找到File>Open Folder(ctrl+k ctrl+o)打开redis的src目录
然后找到Debug>Start Debugging(f5),然后如图选择c++(GDB/LLDB)
选择之后在左边的.vscode目录下会出现launch.json文件,将 “program” 修改为 “${workspaceFolder}/redis-server”
在.vscode目录下新建 tasks.json(“CFLAGS="-g -O0"“参数是为了编译debug版本),并且修改launch.json “preLaunchTask”: “Build” 使得tasks.json可以被加载
{
"version": "2.0.0",
"tasks": [
{
"label": "Build",
"type": "shell",
"command": "make",
"args": [
"CFLAGS=\"-g -O0\""
]
}
]
}
然后打开server.c,找到main函数,并且打上断点,然后继续按f5调试,就可以开始愉快的学习了