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

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.xdnf.cn/news/731395.html

相关文章:

  • dockers搭建mysql环境
  • GraalVM加持下的Quarkus极速启动
  • 华为交换机S12708常用命令
  • 尚硅谷-尚庭公寓部署文档
  • 什么是“会来事”?
  • OpenInventor 介绍和使用指南
  • @Async 注解 走的是主线程 还是子线程呢
  • 开源协议:构建全球技术协作的基石
  • 判断它是否引用了外部库
  • LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)认证
  • 对 AI Agent 定义的一些探讨
  • 《TCP/IP 详解 卷1:协议》第2章:Internet 地址结构
  • Java EE初阶——网络初识
  • 关于表连接
  • 星际巡航-第16届蓝桥第6次STEMA测评Scratch真题第4题
  • RedisTemplate查询不到redis中的数据问题(序列化)
  • 【数据库】并发控制
  • 什么是AI Agent?大白话新手教学
  • JAVA单商户易联云小票打印替换模板
  • ISOLAR软件生成报错处理(七)
  • css实现文字渐变
  • 【git stash切换】
  • 云原生DMZ架构实战:基于AWS CloudFormation的安全隔离区设计
  • 在React框架中使用Braft Editor集成Table表格的详细教程
  • 中联教育 - 嵌入式BI助力财经数据分析服务
  • HarmonyOS-ArkUI固定样式弹窗(1)
  • 由sigmod权重曲线存在锯齿的探索
  • 【UE5 C++】绘制地表贴合线
  • 【C++】虚函数是什么?为什么需要它?
  • superior哥深度学习系列(大纲)