当前位置:网站首页>redis源码学习-01_Clion中调试redis源码

redis源码学习-01_Clion中调试redis源码

2022-06-09 17:52:00 飞奔的屎壳郎

cygwin搭建

Cygwin只是提供了类似于Linux的环境,实际使用上还是有一些差异的。不过已经能满足我们基本的需求。

下载

官网地址:https://cygwin.com/install.html
在这里插入图片描述

安装

  1. 选择默认

在这里插入图片描述

  1. 选择安装目录,点击下一步;

在这里插入图片描述

  1. 选择“direct connection(直接连接)“;如果你有用代理,请选择对应的设置;

在这里插入图片描述

4.选择在线下载安装的镜像站,修改成国内的镜像源:http://mirrors.163.com/cygwin/
在这里插入图片描述

  1. 在这一步,选择需要安装的包;

安装时选择要的包:gcc-core、gcc-g++、make、gdb、binutils
在这里插入图片描述

如图示所

在这里插入图片描述

  1. 点击下一步安装开始,并等待安装完毕,安装时间根据网速与选择的包而定;

在这里插入图片描述

  1. 等待完成
    在这里插入图片描述

Clion配置

其实只要打开Clion它就会自动寻找Cmake,c的编译环境,但是找到后还是需要自己手工设置一下,设置入口在setting中的toolchian里
在这里插入图片描述

克隆redis 代码

源码地址:https://gitee.com/gy297879328/redis_3.0_study

打开工程后,大家要注意上面的CMakeList.txt,其中,已经默认给我们配置了几个target:
在这里插入图片描述

其中,库应该是不能独立运行的,我们可以运行下面的三个,其中:

  • redis-cli,redis客户端
  • redis-server,服务端
  • redis-example,这个是我自己加的,主要是希望:可以像在java中那样,启动一个main方法,去测试一些工具类啊或者啥的,不然的话,就得写到redis-server的代码中,然后用redis-cli去访问,去触发我们的测试代码。主要是类似于一个测试用的入口。

redis-example,我还多说一点,仔细看CmakeList.txt,可能就理解了:
在这里插入图片描述

如何调试

拿redis-example举例:
在这里插入图片描述

不过这里的debug,有一点问题,就是会开一个单独的cmd窗口,而不是直接在Console中输出;printf也有点问题。

但是,使用run方式运行,则没有任何问题。
在这里插入图片描述

附录

找不到cygwin1.dll

需要从window入口进入,当你双击他执行时他会报缺失cywin的错误,这里有个临时的办法可以解决,
那就是去Cygwin的bin目录下复制出来cygwin1.dll,此时你如果放在了刚redis-cli的目录,就会发现Clion会编译失败,
解决办法就是另外建一个execute的目录,把redis-cli和cygwin1都复制进去,这时你就可以愉快的开始玩转redis源码了
在这里插入图片描述
在这里插入图片描述

原网站

版权声明
本文为[飞奔的屎壳郎]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_35349982/article/details/125022804