CLion调试redis6源码(全网首发)

CLion调试redis6源码(全网首发)

背景

clion使用cmake来管理编译redis源码,而redis源码本身使用原生的make,因此直接将redis源码导入clion无法直接运行,需要配置cmake。

写c程序大体步骤为:

1).用编辑器编写源代码,如.c文件。

2).用编译器编译代码生成目标文件,如.o。

3).用链接器连接目标代码生成可执行文件,如.exe。

但如果源文件太多,一个一个编译时就会特别麻烦,于是人们想到,为什么不设计一种类似批处理的程序,来批处理编译源文件呢,于是就有了make工具,它是一个自动化编译工具,你可以使用一条命令实现完全编译。但是你需要编写一个规则文件,make依据它来批处理编译,这个文件就是makefile,所以编写makefile文件也是一个程序员所必备的技能。

对于一个大工程,编写makefile实在是件复杂的事,于是人们又想,为什么不设计一个工具,读入所有源文件之后,自动生成makefile呢,于是就出现了cmake工具,它能够输出各种各样的makefile或者project文件,从而帮助程序员减轻负担。但是随之而来也就是编写cmakelist文件,它是cmake所依据的规则。所以在编程的世界里没有捷径可走,还是要脚踏实地的。

所以流程如下:
在这里插入图片描述

一个程序,在linux下运行,你要写一份makefile,如果要移植到到其他平台,这个makefile就用不了了,需要再写一份。

所以,为了跨平台,出现了cmake,cmake是让程序员用统一的语法来写cmake文件,然后cmake会帮助我们生成对应的平台下的makefile。

所以我们选用cygwin来在window下模拟linux环境,cygwin里默认带有cmake编译工具。

一、安装配置cygwin

1)打开官网:https://cygwin.com/install.html
在这里插入图片描述

2)进入上图的install链接(下图),根据自己的电脑选择32位还是64位
在这里插入图片描述
下载https://cygwin.com/setup-x86_64.exe(这是64位的,如果下载32位的,后面的配置和64位是一样的)

在这里插入图片描述
3)安装

双击即可
在这里插入图片描述

依次:【下一步】->【install from Internet】 -> 【设置下载安装路径 】-> 【direct connection】 -> 选择下载源(可以添加网易镜像站:http://mirrors.163.com/cygwin/ [参考http://mirrors.163.com/.help/cygwin.html]
接来下选择安装的模块,分别搜索wget、 gcc-core、gcc-g++、make、gdb、binutils,以上所有项目都在 devel 文件夹下。

在这里插入图片描述
【下一步】
在这里插入图片描述

继续【下一步】
在这里插入图片描述

继续【下一步】
在这里插入图片描述
继续【下一步】
在这里插入图片描述
添加网易镜像后继续【下一步】

下图中选择要安装的包(我们需要安装wget、 gcc-core、gcc-g++、make、gdb、binutils):

在这里插入图片描述

在search框中搜索以上工具集,如下图:

在这里插入图片描述

还要安装一个apt-cyg(相当于是linux下的yum,cygwin下没有yum命令)

为什么要安装apt-cyg?

安装了apt-cyg就能向使用Ubuntu一样使用apt-get install/remove命令安装卸载软件了,非常方便。

GitHub下载脚本:https://github.com/transcode-open/apt-cyg

在这里插入图片描述
解压刚刚下载的zip文件:
在这里插入图片描述
复制apt-cyg,粘贴到cygwin的安装目录的bin目录下:

在这里插入图片描述

打开Cygwin

在这里插入图片描述

输入命令:

##该命令后面会用到
apt-cyg install dos2unix

在这里插入图片描述
由于我已经安装过,所以这里就跳过了,这句命令测试apt-cyg是否成功运行。

4)添加环境变量以便在cmd或者powershell中可以使用Linux命令

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
以上环境变量内容请根据自己的实际安装地址进行配置。

二、安装clion

CLion 是 JetBrains 推出的全新的 C/C++ 跨平台集成开发环境。习惯了用idea的java程序员用clion来调试redis源码应该比较舒适,比起vc要舒服多了。

什么??我搞java的现在让我调试c代码??

额。。。谁规定java程序员不能精通C/C++的?况且redis本来就是c写的,你要研究redis源码,能不把c重新拾起来吗?

废话少说,走起!

1)、下载并安装中文破解版clion

链接:https://pan.baidu.com/s/1o0HEOdqhWYBsfqxKgOZWog
提取码:cp5t

2)、安装好之后,就需要在clion中配置cygwin编译器

依次点击:【文件】->【设置】

在这里插入图片描述

3)、打开配置对话框,选择【构建,执行,部署】->【Toolchains】->点击“+”号,选择【Cygwin】,配置刚刚安装好的Cygwin环境,下面cmake等工具都会自动检测到。

在这里插入图片描述

:除了Cygwin以外,这里还可以配置MinGW,VS等。

​ 如果使用MinGW的话,安装好MinGW后会缺少很多文件,所以本教程使用Cygwin。

​ 配置完成之后开始下载redis源码了。

三、clion中导入redis源码

1)、我们从git上拉取当前最新的稳定版6.x版本。

建议从官方仓库 https://github.com/antirez/redis Fork 出属于自己的仓库。

  • 为什么要 Fork ?既然开始阅读、调试源码,我们可能会写一些注释,有了自己的仓库,可以进行自由的提交。
  • 本文使用的 Redis 版本为最新的 6.0.5

在这里插入图片描述

2)、打开gitbush,执行:

git clone -b 6.0 https://github.com/antirez/redis.git

在这里插入图片描述

3)、redis6源码导入clion中

【文件】->【New CMake Project from Sources…】

在这里插入图片描述

选择刚clone的redis源码,点击【确定】,如下图:

在这里插入图片描述

四、修改CMakeLists.txt文件

由于修改CMakeLists.txt文件数量和内容较多,篇幅有限,获取最新CMakeLists.txt文件相关配置,请加码炫课堂java架构师qq1群获取:963060292

五、编译&调试redis6源码

1)、redis6源码加载之后,cmake会自动编译,编译完成后,选择redis-server|debug选项,点击【运行】即可。

撒花,成功!redis版本为当前最新6.0.5版本,如下图所示:

在这里插入图片描述

2)、验证是不是真的可以调试,可以打开 server.c 文件,在 int main(int argc, char **argv) 方法中,添加断点,开始愉快的调试。如下图:

在这里插入图片描述

嘿嘿,比想象中的顺利。如果各位同学在搭建调试的过程中,有碰到问题,可以加入技术交流q群:963060292 给我留言。smart哥自己在配置 ./CMakeLists.txt 文件时卡壳了,不同版本的 Redis 会有所不同。

六、注意点

1、在编译之前,需要在Cygwin64 Terminal上执行 mkreleasehdr.sh脚本,由于该脚本格式是win格式,所以需要执行dos2unix命令转换,转换完之后再执行。

##转换格式
dos2unix mkreleasehdr.sh

##执行mkreleasehdr.sh
./mkreleasehdr.sh

2、运行到最后一步会报如下错误:

error while loading shared libraries: cyghiredis.dll: cannot open shared object file: No such file or directory

解决方案:需要把E:\mypro\redis6\redis\cmake-build-debug\deps\hiredis\cyghiredis.dll拷贝到E:\mypro\redis6\redis\cmake-build-debug\目录下。

3、网上现有redis3或者5版本的CMakeLists.txt文件的相关配置照搬到redis6中是无法运行的。

相关CMakeLists.txt文件的具体配置获取请移步至:码炫课堂java架构师技术交流群:963060292

smart哥首创4位1体打法之–源码篇-最新【redis6源码解析】课程即将开启,全盘解析redis6中IO多路复用等特性的底层源码,该课程对交流群中的小伙伴限时免费开放!

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
c 环境配置 colin 主要包括三个步骤:安装编译器、配置环境变量和测试编译器。 首先,安装编译器。在安装 c 环境之前,我们需要先下载对应的编译器软件。常用的 c 编译器有 gcc、clang、MSVC 等。根据个人需求选择适合自己的编译器,并下载对应的安装包。然后,按照安装向导进行安装即可。安装完成后,我们就拥有了一个可用的 c 编译器。 接下来,配置环境变量。环境变量的配置可以使得我们在任意目录下都能够直接使用 c 编译器。首先,找到我们安装的编译器安装目录。然后,将该目录添加到系统的环境变量中。具体的配置步骤可以根据操作系统的不同而有所差异,但一般都是在控制面板或者系统设置中找到“环境变量”选项,然后添加编译器安装目录到系统的“PATH”变量中。配置完成后,我们就可以在任意目录下打开命令行终端,输入编译器命令来编译和运行 c 程序。 最后,测试编译器。经过以上两个步骤的配置,我们就可以测试我们的 c 编译器是否正常工作了。在任意目录下新建一个文本文件,将其后缀改为“.c”,比如“test.c”。然后,用任意文本编辑器打开该文件,输入一段简单的 c 代码,比如“#include <stdio.h> int main(){ printf("Hello, world!"); return 0; }”。保存文件后,回到命令行终端,进入该文件所在的目录,输入编译命令,如“gcc test.c -o test”,然后按回车键进行编译。如果没有出现错误信息,说明我们的 c 编译器已经成功配置。 综上所述,通过安装编译器、配置环境变量和测试编译器三个步骤,我们可以完成 c 环境的配置,从而能够顺利编译和运行 c 程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值