c==ubuntu+vscode debug redis7源码

news2025/1/10 11:38:56

新建.vscode文件夹,创建launch.json和tasks.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C/C++ Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/src/redis-cli", // 调试输出的可执行文件
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "build", // 用于构建代码的任务名称,
            "miDebuggerPath": "/usr/bin/gdb" // gdb 的路径(根据你的系统)
        }
    ]
}

 

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "make",
            "args": ["redis-cli"],
            "group": {
                "kind": "build",
                "isDefault": true
            },
			"options": {
                "cwd": "${workspaceFolder}" // 设置工作目录为根目录
            },
            "problemMatcher": []
        }
    ]
}

如上就可以了,

其实就是先在当前目录执行make redis-cli

然后找到生成的可执行文件,对该可执行文件进行debug

那是怎么根据可执行文件,知道是哪个源文件中的哪一行,应该就是GDB的原理了。

启动,成功进入断点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1037733.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

人工智能轨道交通行业周刊-第61期(2023.9.18-9.24)

本期关键词:焊线机器人、智能综合运维管理系统、信号平面图、铁路部门架构、书生浦语大模型 1 整理涉及公众号名单 1.1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路与城市轨道交通…

确知波束形成matlab仿真

阵列信号处理中的导向矢量 假设一均匀线性阵列,有N个阵元组成,满足:远场、窄带假设。 图1. 均匀线性阵模型 假设信源发射信号,来波方向为 θ \theta θ,第一个阵元接收到的信号为 x ( t ) x(t) x(t),则第…

mybatsi-MyBatis的逆向工程

mybatsi-MyBatis的逆向工程 一、前言二、创建逆向工程的步骤1.添加依赖和插件2.创建MyBatis的核心配置文件3.创建逆向工程的配置文件4.执行MBG插件的generate目标 一、前言 正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表。 Hibernate是支…

Nitrux 3.0 正式发布并全面上市

导读乌里-埃雷拉(Uri Herrera)近日宣布 Nitrux 3.0 正式发布并全面上市,它是基于 Debian、无 systemd、不可变的 GNU/Linux 发行版的最新安装媒体,利用了 KDE 软件。 Nitrux 3.0 由带有 Liquorix 味道的 Linux 6.4.12 内核提供支持…

每日一题~把二叉搜索树转换为累加

原题链接:538. 把二叉搜索树转换为累加树 - 力扣(LeetCode) 题目描述: 思路分析: 通过描绘二叉搜索树转换累加树的过程,我们发现转换的过程是从右往左依次相加的,新节点的值 右边节点的值的和 …

HTML怎么使用角度代码调节一个角的角度

文章目录 概要整体架构流程 概要 我们在用代码做图形的时候,用的矩形和圆形比较多,如果遇到只改变其中一个角的角度,这时又该怎么做呢 整体架构流程 如图,这是建立的一个正圆的代码,其调节角度的属性代码是border-ra…

Leetcode | 560. 和为 K 的子数组

560. 和为 K 的子数组 文章目录 [560. 和为 K 的子数组](https://leetcode.cn/problems/subarray-sum-equals-k/)题目解法1:暴力枚举解法2:前缀和解法3:[官方题解](https://leetcode.cn/problems/subarray-sum-equals-k/solutions/238572/he-…

成都直播基地火热招商中,天府蜂巢成都直播基地招商政策汇总

随着直播产业的发展,四川天府新区也在逐步形成成熟的直播产业链。近日,记者采访到成都天府蜂巢直播产业基地即将竣工,正式进入运营阶段,作为成都科学城兴隆湖高新技术服务产业园的主打新一代成都直播基地,正积极招商中!引领大规模的平台聚合发…

关于POM声明为provided的依赖,运行程序时报错NoClassDefFoundError

问题叙述 我在编写flink程序时,将flink相关依赖声明为provided(目的是项目打包时不会将flink依赖打入包最终jar包中,减少内存占用) 但是如果在IDEA本地中执行程序会报错java.lang.NoClassDefFoundError,如下所示 解…

静态资源的动态引入

有常用的2种方式: 1、css中的静态路径 2、img中的src静态路径 运行的环境是打包后的图片路径,而打包后的图片通常会生成一个文件指纹,而我们在写代码时,写的是源码中的路径和文件名,如果是静态路径,则会自动…

leetcodetop100(18) 螺旋矩阵

给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5]示例 2: 输入:matrix [[1,2,3…

SpringBoot启用禁用员工/员工分页查询/编辑员工 --苍穹外卖day3

启用禁用员工 Controller 路径参数前面加上Path~注解来获取参数 PostMapping("/status/{status}") ApiOperation("启用禁用员工") public Result StartOrStop(PathVariable("status") Integer status, Long id){log.info("启用禁用")…

你需要知道DDD基本知识

0 概述 2004 年埃里克埃文斯(Eric Evans)发表了《领域驱动设计》(Domain-Driven Design –Tackling Complexity in the Heart of Software)这本书,从此领域驱动设计(Domain Driven Design,简称…

马尔可夫链预测 (Markov Chain)

一、人寿保险案例(两状态) 人寿保险公司把人的健康状态分为健康和疾病两种,以一年为一个时段,研究健康状态的转变。假设对某一年龄段的人来说,今年健康,明年继续保持健康的概率为0.8,即明年转为疾病的概率…

网络协议定制

目录 一、协议定制 1.再谈协议 2.认识序列化与反序列化 二、网络计算器 1.序列化与反序列化头文件 2.服务端 3.客户端 4.makefile 5.运行结果 三、json序列化与反序列化 1.常用序列化与反序列化库 2.安装 3.使用 (1)Request的序列化 &…

39.动画动作菜单

特效 源码 index.html <!DOCTYPE html> <html> <head> <title>Animated Action Menu</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body><div class=&quo…

功能测试自动化测试流程

1概述 本流程是描述软件功能自动化测试过程中的步骤、内容与方法&#xff0c;明确各阶段的职责、活动与产出物。 2流程活动图 3活动说明 3.1测试计划&#xff08;可选&#xff09; 与以前的测试计划过程一致&#xff0c;只是在原来的测试计划中&#xff0c;添加对项目实施自动…

4、SpringBoot_Mybatis、Druid、Juint整合

五、SSM整合 1.整合Mybatis 1.1springmvc 整合回顾 导入坐标 <dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.2.17.RELEASE</version></dependency><dependency>…

力扣刷题-链表-两两交换链表中的节点

24.两两交换链表中的节点 给定一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后的链表。你不能只是单纯的改变节点内部的值&#xff0c;而是需要实际的进行节点交换。 解题思路 采用正常模拟的方法。 建议使用虚拟头结点&#xff0c;这样会方便很多&am…

大数据从入门到精通(超详细版)之BI工具的安装

前言 嗨&#xff0c;各位小伙伴&#xff0c;恭喜大家学习到这里&#xff0c;不知道关于大数据前面的知识遗忘程度怎么样了&#xff0c;又或者是对大数据后面的知识是否感兴趣&#xff0c;本文是《大数据从入门到精通&#xff08;超详细版&#xff09;》的一部分&#xff0c;小…