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

vscode调试container(进行rocksdb调试)

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调试container(进行rocksdb调试)

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->点击左侧的…...

从恐怖到商机:2023万圣节跨境电商如何打造鬼魅消费体验?

又到了一年一度的糖果、恐怖装扮和万圣节派对的时候&#xff01;随着10月底的日子临近&#xff0c;人们开始为庆祝万圣节做各种各样的准备。而对于跨境电商来说&#xff0c;这个节日也是一个独特的商机&#xff0c;能够在全球市场上推广各种各样的节日相关商品。Adobe Digital …...

修炼k8s+flink+hdfs+dlink(五:安装dockers,cri-docker,harbor仓库,k8s)

一&#xff1a;安装docker。&#xff08;所有服务器都要安装&#xff09; 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2添加软件源信息 sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/cent…...

从实时数据库转战时序数据库,他陪伴 TDengine 从 1.0 走到 3.0

关于采访嘉宾 在关胜亮的学生时代&#xff0c;“神童”这个称号如影随形&#xff0c;很多人初听时会觉得这个称谓略显夸张&#xff0c;有些人还会认为这是不是就是一种调侃&#xff0c;但是如果你听说过他的经历&#xff0c;就会理解这一称号的意义所在了。 受到教师母亲的影…...

颠覆传统有线通讯,虹科IO-Link wireless解决方案让智能机床的旋转部件实现可靠低延迟无线通信

作为新工业革命的一部分&#xff0c;传统机床正迅速发展成为智能机床。在工业4.0技术的推动下&#xff0c;新的创新应用使机床的效率和功能达到了更高的水平。要实现这些功能&#xff0c;需要在机床上集成传感器和执行器&#xff0c;以提供实时数据和自动化控制。然而&#xff…...

链表 oj2 (7.31)

206. 反转链表 - 力扣&#xff08;LeetCode&#xff09; 我们通过头插来实现 将链表上的节点取下来&#xff08;取的时候需要记录下一个节点&#xff09;&#xff0c;形成新的链表&#xff0c;对新的链表进行头插。 /*** Definition for singly-linked list.* struct ListNode…...

python案例:六大主流小说平台小说下载

嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 很多小伙伴学习Python的初衷就是为了爬取小说&#xff0c;方便又快捷~ 辣么今天咱们来分享6个主流小说平台的爬取教程~ 一、流程步骤 流程基本都差不多&#x…...

前端已死!转行网络安全,挖漏洞真香!

最近&#xff0c;一个做运维的朋友在学渗透测试。他说&#xff0c;他公司请别人做渗透测试的费用是 2w/人天&#xff0c;一共2周。2周 10w 的收入&#xff0c;好香~ 于是&#xff0c;我也对渗透测试产生了兴趣。开始了探索之路~ 什么是渗透测试 渗透测试这名字听起来有一种敬畏…...

【AI】了解人工智能、机器学习、神经网络、深度学习

深度学习、神经网络的原理是什么&#xff1f; 深度学习和神经网络都是基于对人脑神经系统的模拟。下面将分别解释深度学习和神经网络的原理。深度学习的原理&#xff1a;深度学习是一种特殊的机器学习&#xff0c;其模型结构更为复杂&#xff0c;通常包括很多隐藏层。它依赖于神…...

【Axure高保真原型】3D柱状图_中继器版

今天和大家分享3D柱状图_中继器版的原型模板&#xff0c;图表在中继器表格里填写具体的数据&#xff0c;调整坐标系后&#xff0c;就可以根据表格数据自动生成对应高度的柱状图&#xff0c;鼠标移入时&#xff0c;可以查看对应圆柱体的数据……具体效果可以打开下方原型地址体验…...

【word技巧】word页眉,如何禁止他人修改?

我们设置了页眉内容之后&#xff0c;不想其他人修改自己的页眉内容&#xff0c;我们可以设置加密的&#xff0c;设置方法如下&#xff1a; 先将页眉设置好&#xff0c;退出页眉设置之后&#xff0c;我们选择布局功能&#xff0c;点击分隔符 – 连续 设置完之后页面分为上下两节…...

Python 机器学习入门之逻辑回归

系列文章目录 第一章 Python 机器学习入门之线性回归 第一章 Python 机器学习入门之梯度下降法 第一章 Python 机器学习入门之牛顿法 第二章 Python 机器学习入门之逻辑回归 逻辑回归 系列文章目录前言一、逻辑回归简介二、逻辑回归推导1、问题2、Sigmoid函数3、目标函数3.1 让…...

现货白银赚钱有风险吗?

跟现货黄金一样&#xff0c;现货白银市场是一个公平公正的市场&#xff0c;即使是中小投资者&#xff0c;也能拥有平等的获利机会&#xff0c;同样可以借助平台所给予的资金杠杆&#xff0c;实现个人财富的快速增值。 很多人都是冲着现货白银的财富效应而进入这个市场&#xff…...

Debian衍生桌面项目SpiralLinux12.231001发布

SpiralLinux 是一个从 Debian 衍生出来的桌面项目&#xff0c;其重点是在所有主要桌面环境中实现简洁性和开箱即用的可用性。 spiral Linux 是为刚接触 Linux 世界的人们量身定制的发行版。这是 GeckoLinux 开发人员的创意&#xff0c;他更喜欢保持匿名。尽管他不愿透露姓名&a…...

元宇宙在技术大爆炸时代迎来链游新世界

元宇宙是一个完全虚拟的世界&#xff0c;人们可以在其中互动&#xff0c;就像在现实世界中一样。 随着元宇宙概念不断的被深化&#xff0c;目前许多用户群体已经注意到并加入元宇宙领域。而元宇宙比较火的场景有社交、游戏、虚拟会议等&#xff0c;在许多方面&#xff0c;游戏一…...

9中间件-Redis、MQ---进阶

mq进阶 RabbitMQ 怎么避免消息丢失&#xff1f; 把消息持久化磁盘&#xff0c;保证服务器重启消息不丢失。 每个集群中至少有一个物理磁盘&#xff0c;保证消息落入磁盘。#RabbitMQ 的消息是怎么发送的&#xff1f; 首先客户端必须连接到 RabbitMQ 服务器才能发布和消费消息&…...

JVM(Java Virtual Machine)内存模型篇

前言 本文是JVM系列的内存模型篇&#xff0c;参考资料为《深入理解Java虚拟机》&#xff0c;本文章将会以HotSpot 虚拟机为介绍基础。 1.JVM简单介绍 Java Virtual Machine是运行Java程序的基础&#xff0c;JVM基于C、C实现&#xff0c;JVM有很多种类&#xff0c;但是这些虚…...

对地址解析协议ARP进一步探讨

之前在讨论MAC地址和IP地址时&#xff0c;顺便对ARP协议做了初步的总结 &#xff08;计网第三章&#xff08;数据链路层&#xff09;&#xff08;四&#xff09;&#xff08;MAC地址和IP地址、ARP协议、集线器和交换机&#xff09;&#xff09;&#xff0c;但是当时对ARP请求的…...

java:java.util.StringTokenizer实现字符串切割

java&#xff1a;java.util.StringTokenizer实现字符串切割 1 前言 java.util工具包提供了字符串切割的工具类StringTokenizer&#xff0c;Spring等常见框架的字符串工具类&#xff08;如Spring的StringUtils&#xff09;&#xff0c;常见此类使用。 例如Spring的StringUtil…...

IPV6 ND协议--源码解析【根源分析】

ND协议介绍 ND介绍请阅读上一篇文章&#xff1a;IPv6知识 - ND协议【一文通透】11.NDP协议分析与实践_router solicitation报文中不携带source link-layer address-CSDN博客 ND协议定义了5种ICMPv6报文类型&#xff0c;如下表所示&#xff1a; NS/NA报文主要用于地址解析RS/…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...