当前位置: 首页 > article >正文

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 命令

 

 

服务器这边 断点命中, 至此 可以正常调试了 

 

 

 

 

 

http://www.lryc.cn/news/2393561.html

相关文章:

  • 《操作系统真相还原》——加载器
  • 电网即插即用介绍
  • HJ25 数据分类处理【牛客网】
  • spring-boot redis lua脚本实现滑动窗口限流
  • USB MSC
  • css实现文字渐变
  • FART 自动化脱壳框架一些 bug 修复记录
  • 基于Flask实现豆瓣Top250电影可视化
  • More SQL(Focus Subqueries、Join)
  • 项目部署react经历
  • 从图像处理到深度学习:直播美颜SDK的人脸美型算法详解
  • 智能教育个性化学习路径规划系统实战指南
  • spark- ResultStage 和 ShuffleMapStage介绍
  • zTasker一款Windows自动化软件,提升效率:大小仅有10MB,免费无广告
  • 人工智能100问☞第34问:什么是语音识别与合成?
  • 最大流-Ford-Fulkerson增广路径算法py/cpp/Java三语言实现
  • 怎么从一台电脑拷贝已安装的所有python第三方库到另一台
  • 【测试】Bug和用例
  • 缓存穿透、缓存击穿、缓存雪崩目前记录(纯日记)
  • 鸿蒙OS的5.0.1.120版本体验怎么样?
  • 使用ssh-audit扫描ssh过期加密算法配置
  • 前端工程化 Source Map(源码映射)详解
  • 2025.05.28-华为暑期实习第二题-200分
  • Java+Playwright自动化-2-环境准备与搭建-基于Maven
  • 由sigmod权重曲线存在锯齿的探索
  • 二、OpenCV图像处理-图像处理
  • UPS的工作原理和UPS系统中旁路的作用
  • 麒麟系统 Linux(aarch64处理器)系统java项目接入海康SDK问题
  • 深入理解数组索引:原理、应用与优化
  • 【洛谷P9303题解】AC- [CCC 2023 J5] CCC Word Hunt