当前位置: 首页 > 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 命令

 

 

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

 

 

 

 

 

相关文章:

01 redis 的环境搭建

前言 这一系列文章主要包含的内容主要是 各种常用软件的调试环境的搭建 主要的目的是 搭建一个可打断点的一个调试环境 c 系列 主要是基于 clion 调试, java 系列主要是基于 idea 调试, js 系列主要是基于 webstorm 调试 需要有一定的 c, c, java, js 相关基础 基于的…...

《操作系统真相还原》——加载器

显存 将上一章的中断输出,变为显存输出 加载器 使用mbr引导程序从磁盘中加载loader程序。 MBR %include "boot.inc" SECTION MBR vstart0x7c00 mov ax,cs mov ds,axmov es,axmov ss,axmov fs,axmov sp,0x7c00mov ax,0xb800mov gs,ax;cl…...

电网即插即用介绍

一、统一设备信息模型与标准接口 实现即插即用功能的基础在于建立统一的设备信息模型。不同厂家生产的各类电网设备,其内部结构、通信协议、数据格式等往往千差万别。通过制定统一的设备信息模型,能够对设备的各种属性、功能以及接口进行标准化定义&…...

HJ25 数据分类处理【牛客网】

文章目录 零、原题链接一、题目描述二、测试用例三、解题思路四、参考代码 零、原题链接 HJ25 数据分类处理 一、题目描述 二、测试用例 三、解题思路 基本思路:   首先理解题目,题目要求对规则集先进行排序,然后去重,这一步我…...

spring-boot redis lua脚本实现滑动窗口限流

因为项目中没有集成redisson,但是又需要用到限流,所以简单的将redisson中限流的核心lua代码移植过来,并进行改造,因为公司版本的redis支持lua版本为5.1,针对于长字符串的数字,使用tonumber转换的时候会得到…...

USB MSC

主机(如电脑)识别USB MSC(Mass Storage Class)设备中的文件,本质上是通过多层协议协作实现的,涉及USB枚举、SCSI命令传输和文件系统解析三个核心环节。以下是详细机制: 🔍 ​一、USB…...

css实现文字渐变

在前端开发中&#xff0c;给文字设置渐变色是完全可以实现的&#xff0c;常用的方式是结合 CSS 的 background、-webkit-background-clip 和 -webkit-text-fill-color 属性。下面是一个常见的实现方法&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> …...

FART 自动化脱壳框架一些 bug 修复记录

版权归作者所有&#xff0c;如有转发&#xff0c;请注明文章出处&#xff1a;https://cyrus-studio.github.io/blog/ open() 判断不严谨 https://github.com/CYRUS-STUDIO/FART/blob/master/fart10/art/runtime/art_method.cc 比如&#xff1a; int dexfilefp open(dex_pat…...

基于Flask实现豆瓣Top250电影可视化

项目截图 概述 该项目旨在对豆瓣Top 250电影进行全面的数据分析&#xff0c;使用了Python爬虫、Flask框架进行开发&#xff0c;并采用了Echarts进行数据可视化以及WordCloud进行词云分析。应用展示了多个功能&#xff0c;如电影列表、评分分布、词频统计和团队信息。 主要功能…...

More SQL(Focus Subqueries、Join)

目录 Subqueries Subqueries That Return One Tuple Subqueries and Self Connection The IN Operator The Exists Operator The Operator ANY The Operator ALL Union, Intersection, and Difference&#xff08;交并差&#xff09; Bag Semantics Controlling Dupl…...

项目部署react经历

简单的说&#xff1a; 1. 编译打包并压缩为压缩包 2. 将压缩包上传到服务器&#xff08;这里以宝塔面板为例&#xff1a;www/wwwroot/目录下&#xff09; 3. 将文件解压生成比如&#xff1a;www/wwwroot/ttms/build/* 多文件 4. php 项目建站&#xff0c;选择静态&#xff…...

从图像处理到深度学习:直播美颜SDK的人脸美型算法详解

在直播的镜头前&#xff0c;每一位主播都希望自己“光彩照人”。但在高清摄像头无死角的审视下&#xff0c;哪怕是天生丽质&#xff0c;也难免需要一点技术加持。于是&#xff0c;美颜SDK应运而生&#xff0c;成为直播平台提升用户粘性和视觉体验的重要工具。 尤其是在“人脸美…...

智能教育个性化学习路径规划系统实战指南

引言 在数字化教育革命中&#xff0c;如何利用AI技术实现"因材施教"的千年教育理想&#xff1f;本文将通过构建一个完整的智能教育系统&#xff0c;演示如何基于Python生态&#xff08;Django机器学习&#xff09;实现从数据采集到个性化推荐的全流程。系统将通过分…...

spark- ResultStage 和 ShuffleMapStage介绍

目录 1. ShuffleMapStage(中间阶段)1.1 作用1.2 核心特性1.3 示例2. ResultStage(最终结果阶段)2.1 作用2.2 核心特性2.3 示例3. 对比总结4. 执行流程示例5. 常见问题Q1:为什么需要区分两种 Stage?**Q2:如何手动观察 Stage 划分?Q3:ShuffleMapStage 的数据一定会落盘吗…...

zTasker一款Windows自动化软件,提升效率:大小仅有10MB,免费无广告

一、zTasker是什么&#xff1f; zTasker是一款发布于2023年9月的免费无广告工具&#xff0c;专为Windows用户打造。它以仅8MB的轻量体积、极低资源占用&#xff08;内存消耗不足10MB&#xff09;和秒级启动速度脱颖而出&#xff0c;堪称“任务计划程序的终极强化版”。无论是定…...

人工智能100问☞第34问:什么是语音识别与合成?

目录 一、通俗解释 二、专业解析 三、权威参考 在人工智能的世界里,“看、听、说、写”早已不是人类的专属技能。语音识别,让机器有了耳朵;语音合成,让机器长了嘴巴;合在一起,机器就开始“说人话、听人言”了。 一、通俗解释 1、语音识别:让机器听懂人说话 你有没…...

最大流-Ford-Fulkerson增广路径算法py/cpp/Java三语言实现

最大流-Ford-Fulkerson增广路径算法py/cpp/Java三语言实现 一、网络流问题与相关概念1.1 网络流问题定义1.2 关键概念 二、Ford-Fulkerson算法原理2.1 核心思想2.2 算法步骤 三、Ford-Fulkerson算法的代码实现3.1 Python实现3.2 C实现3.3 Java实现 四、Ford-Fulkerson算法的时间…...

怎么从一台电脑拷贝已安装的所有python第三方库到另一台

要将Python库从一台电脑拷贝到另一台&#xff0c;可以采用以下方法&#xff1a; 方法一&#xff1a;使用pip命令导出和安装依赖 如果目标电脑在线&#xff0c;且python与pip命令可以正常使用 在源电脑上&#xff0c;打开命令行&#xff0c;执行以下命令导出所有依赖库到requ…...

【测试】Bug和用例

软件测试贯穿于软件的整个⽣命周期 软件测试的⽣命周期是指测试流程&#xff0c;这个流程是按照⼀定顺序执⾏的⼀系列特定的步骤&#xff0c;去保证产品质量符合需求。在软件测试⽣命周期流程中&#xff0c;每个活动都按照计划的系统的执⾏。每个阶段有不同的⽬标和交付产物 Bu…...

缓存穿透、缓存击穿、缓存雪崩目前记录(纯日记)

今天学了学这三个知识&#xff0c;这命名真是有点东西。 1.先说在命名方面与其余两个内容能明显区分开的缓存雪崩&#xff0c;简单来讲&#xff1a; 缓存雪崩就是缓存宕机了&#xff0c;也甭管咋宕机了&#xff0c;反正就是某一时刻&#xff0c;缓存用不了了。 那咋办&#…...

鸿蒙OS的5.0.1.120版本体验怎么样?

点击上方关注 “终端研发部” 设为“星标”&#xff0c;和你一起掌握更多数据库知识 越来越是好用了&#xff0c;之前是凑合能用&#xff0c;现在是大多能用。 我朋友的mate30PRO和PuraX一起用&#xff0c;新系统确实满足我90%以上的需求 一个系统适配一款机型&#xff0c;是要…...

使用ssh-audit扫描ssh过期加密算法配置

使用ssh-audit扫描ssh过期加密算法配置 安装检查ssh的加密算法配置修改ssh的加密算法配置 安装 # pip3安装ssh-audit pip3 instal ssh-audit检查ssh的加密算法配置 # 检查ssh的配置 ssh-audit 192.168.50.149修改ssh的加密算法配置 # 查看ssh加密配置文件是否存在 ls /etc/c…...

前端工程化 Source Map(源码映射)详解

我们来深入讲解前端 Source Map&#xff08;源码映射&#xff09;&#xff0c;围绕以下结构展开&#xff1a; 一、为什么要用 Source Map&#xff1f;&#xff08;Why&#xff09; 背景问题&#xff1a; 在前端构建中&#xff0c;源代码通常会被压缩&#xff08;minify&#…...

2025.05.28-华为暑期实习第二题-200分

📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 02. A先生的旅游路径规划 问题描述 A先生正在为即将到来的假期规划一次城市旅游。这座城市有 n n n...

Java+Playwright自动化-2-环境准备与搭建-基于Maven

1.简介 上一章中已经讲如何通过引入jar包来搭建JavaPlaywright自动化测试环境&#xff0c;这一种是比较老的方法&#xff0c;说白了就是过时的老古董&#xff0c;但是我们必须了解和知道&#xff0c;其实maven搭建无非也就是下载引入相关的jar包&#xff0c;只不过相比之下是简…...

由sigmod权重曲线存在锯齿的探索

深度学习的知识点&#xff0c;一般按照执行流程&#xff0c;有 网络层类型&#xff0c;归一化&#xff0c;激活函数&#xff0c;学习率&#xff0c;损失函数&#xff0c;优化器。如果是研究生上课学的应该系统一点&#xff0c;自学的话知识点一开始有点乱。 一、激活函数Sigmod…...

二、OpenCV图像处理-图像处理

目录 1、连通性 2、形态学操作 2.1腐蚀和膨胀 2.2开闭运算 2.3礼帽和黑帽 2.4总结 3、图像平滑 3.1图像噪声 3.2均值滤波 3.3高斯滤波 3.4中值滤波 3.5总结 4、直方图 4.1直方图的原理与显示 4.2掩膜的应用 4.3直方图均衡化 4.4自适应均衡化 4.5总结 5、边缘…...

UPS的工作原理和UPS系统中旁路的作用

UPS&#xff08;不间断电源&#xff09;根据工作原理和适用场景的不同&#xff0c;主要分为以下三种类型&#xff0c;每种类型的特点和适用场景如下&#xff1a; 1. 后备式UPS&#xff08;Offline/Standby UPS&#xff09; 工作原理&#xff1a; 正常供电时&#xff0c;负载直接…...

麒麟系统 Linux(aarch64处理器)系统java项目接入海康SDK问题

1. 麒麟系统部署海康摄像头时的 JNA 链接错误&#xff0c; 海康提供的jna sdk版本太低&#xff0c;需升级版本4.5及以上&#xff0c;把集成的Structure 替换成以下类 public class SDK_Structure extends Structure {protected List<String> getFieldOrder() {List<St…...

深入理解数组索引:原理、应用与优化

在编程中&#xff0c;数组是一种最基本且广泛使用的数据结构。而数组索引则是访问数组元素的关键机制。本文将深入探讨数组索引的原理、应用以及优化方法&#xff0c;帮助读者更好地理解和使用数组索引。 一、数组索引的基本原理 数组是一种线性数据结构&#xff0c;它将一组…...