01 redis 的环境搭建
前言
这一系列文章主要包含的内容主要是 各种常用软件的调试环境的搭建
主要的目的是 搭建一个可打断点的一个调试环境
c 系列 主要是基于 clion 调试, java 系列主要是基于 idea 调试, js 系列主要是基于 webstorm 调试
需要有一定的 c, c++, java, js 相关基础
基于的环境是一个 ubuntu16.04 desktop, 初始的时候 仅仅更新了源, 安装了 clion
redis, nginx, mysql, vsftpd
javac, javap, jstack, jmap, jinfo
kafka,
spark, flink
coreutils, glibc, gdb
hotspotVM, linux
... 等等其他
编译 redis-7.0.10
首先去官方网站下载最新源码, 然后拷贝自 目标虚拟机
开始编译, 编译之后 src 下面的 redis-server, redis-cli 即为编译好的 binary
root@ubuntu:~/Desktop/WorkStations/redis-7.0.10/src# make nooptCC Makefile.dep
make OPTIMIZATION="-O0"
make[1]: Entering directory '/root/Desktop/WorkStations/redis-7.0.10/src'CC adlist.oCC quicklist.oCC ae.oCC anet.oCC dict.oCC server.oCC sds.o
// 省略一部分输出CC script.oCC functions.oCC function_lua.oCC commands.oLINK redis-serverINSTALL redis-sentinelCC redis-cli.oCC redisassert.oCC cli_common.oLINK redis-cliCC redis-benchmark.oLINK redis-benchmarkINSTALL redis-check-rdbINSTALL redis-check-aofHint: It's a good idea to run 'make test' ;)make[1]: Leaving directory '/root/Desktop/WorkStations/redis-7.0.10/src'
root@ubuntu:~/Desktop/WorkStations/redis-7.0.10/src# ls -l | grep redis-server
-rwxr-xr-x 1 root root 11838200 Apr 5 01:22 redis-server
root@ubuntu:~/Desktop/WorkStations/redis-7.0.10/src# ls -l | grep redis-cli
-rwxr-xr-x 1 root root 5623144 Apr 5 01:22 redis-cli
-rw-rw-r-- 1 jerry jerry 347560 Mar 20 10:16 redis-cli.c
-rw-r--r-- 1 root root 363 Apr 5 01:22 redis-cli.d
-rw-r--r-- 1 root root 1354040 Apr 5 01:22 redis-cli.o
clion 中调试
clion 中打开 redis-7.0.10 项目
新建 make application, 配置名称
target 配置 make 相关, build 配置 Makefile 中 build 的命令, clean 配置 Makefile 中 clean 的命令
executable 配置编译好的 redis-server 的可执行文件
program arguments 即为 redis-server 所需要的参数, 这里配置为配置文件
然后 调试启动项目, 打上断点
测试断点
使用编译好的 redis-cli 进行测试, 以上在 getCommand 中打上的断点, 因此我们这里 使用 get 命令
服务器这边 断点命中, 至此 可以正常调试了
完