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

c==ubuntu+vscode debug redis7源码

新建.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.lryc.cn/news/174662.html

相关文章:

  • java字符串储存底层原理
  • c++获取当前时间的字符串
  • 【精品】通用Mapper 批量更新bug解决方案
  • 腾讯mini项目-【指标监控服务重构-会议记录】2023-07-06
  • 【React】函数式组件和类式组件的用法和逻辑
  • 题目 1061: 二级C语言-计负均正
  • 数位和(C++)
  • [牛客复盘] 牛客周赛round13 20230924
  • mybatsi-MyBatis的逆向工程
  • 转转闲鱼交易猫链接源码 支持二维码收款
  • Python爬虫基础(三):使用Selenium动态加载网页
  • Linux系统下安装Mysql
  • Jenkins学习笔记1
  • 注意力机制
  • JVM-Java字节码技术笔记
  • C++ 友元、重载、继承、多态
  • Spring Boot 日志文件
  • vulhub venom
  • 量化交易之One Piece篇 - linux - 定时任务(重启服务器、执行程序、验证)
  • Qt5开发及实例V2.0-第二十三章-Qt-多功能文档查看器实例
  • 爬虫笔记_
  • Spring设计模式,事务管理和代理模式的应用
  • 基于海康Ehome/ISUP接入到LiveNVR实现海康摄像头、录像机视频统一汇聚,做到物联网无插件直播回放和控制
  • Linux下git安装及使用
  • python读取图片
  • 虚幻4学习笔记(15)读档 和存档 的实现
  • Spring面试题22:Spring支持哪些ORM框架?优缺点分别是什么?Spring可以通过哪些方式访问Hibernate?
  • 流行的Python库numpy及Pandas简要介绍
  • 【二、安装centOS】
  • 【动手学深度学习-Pytorch版】序列到序列的学习(包含NLP常用的Mask技巧)