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

vscode调试container(进行rocksdb调试)+vscode比较git项目不同分支和fork的哪个分支

vscode调试container(进行rocksdb调试)


参考链接:

https://blog.csdn.net/qq_29809823/article/details/128445308#t5

https://blog.csdn.net/qq_29809823/article/details/121978762#t7

使用vscode中的插件dev containners->点击左侧的远程资源管理器打开运行rocksdb的容器配置以下文件即可

#命令行编译通过调试cpp为可执行文件,通过设置launch.json和f5进行debug
root@62db0822831f:/# find . -name "librocksdb*"
./usr/lib/x86_64-linux-gnu/librocksdb.so
./usr/lib/x86_64-linux-gnu/librocksdb.a
./usr/lib/x86_64-linux-gnu/librocksdb.so.8
./usr/lib/x86_64-linux-gnu/librocksdb.so.8.8.0
./home/baum/rocksdb_all/rocksdb/build/librocksdb.so
./home/baum/rocksdb_all/rocksdb/build/librocksdb.a
./home/baum/rocksdb_all/rocksdb/build/librocksdb.so.8
./home/baum/rocksdb_all/rocksdb/build/librocksdb.so.8.8.0
./rocks/rocksdb/build/librocksdb.so
./rocks/rocksdb/build/librocksdb.a
./rocks/rocksdb/build/librocksdb.so.8
./rocks/rocksdb/build/librocksdb.so.8.8.0root@62db0822831f:/home/baum/rocksdb_all/rocksdb/test_util/test# g++ -g main.cpp -o example -std=c++17 -L/home/baum/rocksdb_all/rocksdb/build -lrocksdb
root@62db0822831f:/home/baum/rocksdb_all/rocksdb/test_util/test# ls
example  main.cpp

通过设置tasks.json来定义编译任务,通过ctrl+shift+B来运行默认的构建任务;配置launch.json文件指定如何启动和调试程序

//c_cpp_properties.json
{"configurations": [{"name": "Linux","includePath": ["${workspaceFolder}/**","/usr/include/rocksdb",  // 如果rocksdb的头文件位于此处,否则调整为实际的头文件路径"/home/baum/rocksdb_all/rocksdb/include"  // rocksdb源代码的头文件路径],"defines": [],"compilerPath": "/usr/bin/g++","cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "gcc-x64"}],"version": 4
}
//tasks.json
//task:g++ -g main.cpp -o example -std=c++17 -L/home/baum/rocksdb_all/rocksdb/build -lrocksdb
{// See https://go.microsoft.com/fwlink/?LinkId=733558// for the documentation about the tasks.json format"version": "2.0.0","tasks": [{"label": "build test cpp","type": "shell","command": "g++","options": {"cwd": "${workspaceFolder}/rocksdb/test_util/test" //可执行文件的目录},"args":["-g","main.cpp","-o","example","-std=c++17","-L/home/baum/rocksdb_all/rocksdb/build","-lrocksdb"],"group":{"kind": "build","isDefault": true}}]
}
//launch.json
{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(gdb) 启动","type": "cppdbg","request": "launch","program": "${workspaceFolder}/rocksdb/test_util/test/example", //可执行文件"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,"MIMode": "gdb","setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true}]}]
}
//rocksdb测试代码,因为rocksdb没有客户端和服务器,所以没有办法gdb attach process_id
//https://rocksdb.org/docs/getting-started.html
//关于打开数据库
//main.cpp
#include <cassert>
#include "rocksdb/db.h"int main(int argc, char* argv[]) {rocksdb::DB* db;rocksdb::Options options;options.create_if_missing = true;rocksdb::Status status =rocksdb::DB::Open(options, "./testdb", &db);assert(status.ok());return 0;
}

vscode比较同一项目的不同分支


点击源代码管理->branches->选择main分支右键compare with working tree

则在commits可以看到

在这里插入图片描述

查看该项目是fork的哪个分支

#rocksdb-gpu
git log
commit 0a211b008b8ba82617a0d45ea5c7d7e1b0602734
Author: 
Date:   Mon Dec 10 17:53:00 2018 +0900Adds cuda module directory.commit e196ba3956d6ef5bb064d880bcca873f9d35a56a
Author:
Date:   Mon Dec 10 17:46:29 2018 +0900Update README.mdcommit f307479ba6979d5ea5d2175321aaa41ce4c18536
Author: 
Date:   Fri Dec 7 17:03:49 2018 -0800Enable checkpoint of read-only db (#4681)Summary:1. DBImplReadOnly::GetLiveFiles should not return NotSupported. Instead,itshould call DBImpl::GetLiveFiles(flush_memtable=false).2. In DBImp::Recover, we should also recover the OPTIONS file name and/o
rnumber so that an immediate subsequent GetLiveFiles will get the corr
ectOPTIONS name.Differential Revision: D13069205Pulled By: riversand963fbshipit-source-id: 3e6a0174307d06db5a01feb099b306cea1f7f88a
#rocksdb
#在上一个代码块中确定了commits是f307479ba6979d5ea5d2175321aaa41ce4c18536,在原始仓库中找到包含该commit的分支
#以下列出的是所有包含该 commit 的本地分支
git branch --contains f307479ba6979d5ea5d2175321aaa41ce4c18536
output:
7.4.fb
main
#如果想查看远程仓库中包含该 commit 的分支,你可以使用
git fetch # 更新远程分支的信息
git branch -r --contains f307479ba6979d5ea5d2175321aaa41ce4c18536
outputorigin/6.0.fborigin/6.0.fb.myrocksorigin/6.1.fborigin/6.1.fb.myrocksorigin/6.1.fb.prod201905......

请及的使用gitlens inspect还有git log,阿巴阿布

相关文章:

vscode调试container(进行rocksdb调试)+vscode比较git项目不同分支和fork的哪个分支

vscode调试container&#xff08;进行rocksdb调试&#xff09; 参考链接&#xff1a; https://blog.csdn.net/qq_29809823/article/details/128445308#t5 https://blog.csdn.net/qq_29809823/article/details/121978762#t7 使用vscode中的插件dev containners->点击左侧的…...

[python-大语言模型]从浅到深一系列学习笔记记录

整体学习路径参照&#xff1a;点这里 python-机器学习-深度学习-大语言模型-数据开发 面向开发者的LLM入门提示原则 面向开发者的LLM入门 学习链接&#xff1a; github地址&#xff1a;https://github.com/datawhalechina/prompt-engineering-for-developers 在线阅读地址&…...

Android 指定有线网或Wifi进行网络请求

Android 指定有线网或Wifi进行网络请求 文章目录 Android 指定有线网或Wifi进行网络请求一、前言&#xff1a;二、指定网络通讯测试1、 窗口命令 ping -I 网络节点 IP2、Java 代码指定特定网络通讯 三、指定特定网络的demo app 开发1、效果图&#xff1a;2、实际测试结果说明&a…...

消除过期的对象引用

Java虽然有自己的垃圾回收机制,但是并没有那么的智能,对于被引用的对象,就算我们已经不在使用它了,但是Java的回收机制是不会回收它们的,人们称之为“内存泄漏”。 以下为三种不同的内存泄漏场景,极其优化方案 1、只要类自己管理内存,就该警惕内存泄漏问题 例如Stack…...

【Shell】环境变量 自定义变量 特殊变量

Shell变量&#xff1a;环境变量 目标 1、理解什么是系统环境变量&#xff1f; 2、掌握常用的系统环境变量都有哪些&#xff1f; Shell变量的介绍 变量用于存储管理临时的数据, 这些数据都是在运行内存中的. 变量类型 系统环境变量 自定义变量 特殊符号变量 系统环境变…...

Maven 打包 jar、war 包配置

1、导出 jar 包配置 <build><finalName>weaver-customerservice-distribution-component</finalName><resources><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></inc…...

感悟:一个小小的摄像头APP,也解决了很多BUG

本来以为&#xff0c;简单的测试一下就行了&#xff0c;应该没有几个BUG。应该是比较轻松的。 然而现实是每天干活时&#xff0c;都能发现几个BUG。这BUG不解决还不行。六石管理学告诉我们四大容易&#xff1a;说容易&#xff0c;看容易&#xff0c;看别人容易&#xff0c;会了…...

顺序表第三节(通讯录基础版)

目录 可以先看一遍第二节在看这个 顺序表&#xff08;第二节&#xff09;实现和解析-CSDN博客 1.顺序表的头文件 2.初始化通讯录 3.添加通讯录 特殊&#xff1a;查找对应姓名的通讯录的序号 4.删除通讯录 5.展示通讯录 6.查找通讯录 7.修改通讯录 8.销毁通讯…...

数字ID和字符串ID互相转化

对于想隐藏真实id的需求&#xff0c;比如想加密userId等 使用示例&#xff1a; * 不指定长度* AlphaIDCustom(12354&#xff09;&#xff1b; //会将数字转换为字母。* AlphaIDCustom(PpQXn7COf,true&#xff09;&#xff1b;//会将字母ID转换为对应的数字。* 指定长度* Alpha…...

「Qt中文教程指南」如何创建基于Qt Widget的应用程序(三)

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写&#xff0c;所有平台无差别运行&#xff0c;更提供了几乎所有开发过程中需要用到的工具。如今&#xff0c;Qt已被运用于超过70个行业、数千家企业&#xff0c;支持数百万设备及应用。 本文描述了如何使用…...

Django CSRF Bypass

自存用 Django CSRF Bypass (CVE-2016-7401) 漏洞分析...

微信小程序 —— 会议OA项目首页布局与Mock数据交互

14天阅读挑战赛如果世界上有奇迹&#xff0c;那一定是努力的另一个名字。 目录 一、小程序布局 1.1 Flex布局 1.2 Flex属性 二、OA会议首页搭建 2.1 首页底部菜单 2.2 创建后端结口 2.3 Mock模拟数据 2.4 首页轮播图搭建 2.5 首页内容搭建 一、小程序布局 1.1 Flex布…...

机器学习-K-近邻(KNN)算法

目录 一 . K-近邻算法&#xff08;KNN&#xff09;概述 二、KNN算法实现 三、 MATLAB实现 四、 实战 一 . K-近邻算法&#xff08;KNN&#xff09;概述 K-近邻算法&#xff08;KNN&#xff09;是一种基本的分类算法&#xff0c;它通过计算数据点之间的距离来进行分类。在…...

shell_38.Linux读取脚本名

读取脚本名 (1)示例 $ cat positional0.sh #!/bin/bash # Handling the $0 command-line parameter # echo This script name is $0. exit $ $ bash positional0.sh This script name is positional0.sh. $ (2)如果使用另一个命令来运行 shell 脚本&#xff0c;则命令…...

面试题-React(十七):如何使用RTK进行状态管理

Redux Toolkit&#xff08;RTK&#xff09; 是一个强大的工具集&#xff0c;旨在简化和改进Redux的使用。它提供了一组工具和约定&#xff0c;使Redux的配置和编写更加直观和高效。 一、Redux Toolkit简介 Redux Toolkit是一个由Redux官方团队开发和维护的库&#xff0c;旨在…...

网络安全—自学笔记

目录 一、自学网络安全学习的误区和陷阱 二、学习网络安全的一些前期准备 三、网络安全学习路线 四、学习资料的推荐 想自学网络安全&#xff08;黑客技术&#xff09;首先你得了解什么是网络安全&#xff01;什么是黑客&#xff01; 网络安全可以基于攻击和防御视角来分类…...

Java后端开发(五)-- 对象转换工具类

为避免返回给前端的字段信息太多,在缓解前、后端通信的带宽压力的前提下,对不必要的字段的信息进行不返回时,entity层对象需要向vo层对象进行转换,同事尽量减少geetter与setter方法的编码。 1. ConvertUtils工具类 import org.slf4j.Logger; import org.slf4j.LoggerFacto…...

pandas写入MySQL

安装好pandas、mysql pip install pandas pip install pymysql 导入pandas、mysql import pymysql as mysql import pandas as pd 建立连接 conmysql.connect(host10.10.0.221,userroot,passwordroot,databasepandas,port3306,charsetutf8) 创建游标 curcon.cursor() 读…...

TCP实战:即时通信-端口转发

1、即时通信是什么含义&#xff0c;要实现怎么样的设计&#xff1f; 即时通信&#xff0c;是指一个客户端的消息发出去&#xff0c;其他客户端可以接收到即时通信需要进行端口转发的设计思想服务端需要把在线的Socket管道存储起来一旦收到一个消息要推送给其他管道 服务端 pac…...

CMakeLists.txt详解

CMakeLists.txt详解 CMakeLists.txt是一个用于构建C/C项目的CMake配置文件。它定义了项目的编译选项&#xff0c;包括编译器类型、依赖库、预处理宏和子目录等。让我们逐步解析这个文件。 编译器检测 CMAKE_CXX_COMPILER_ID 变量用于检测编译器类型。在这个示例中&#xff0…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求&#xff0c;并检查收到的响应。它以以下模式之一…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战&#xff0c;克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...