vscode编译mysql-boost-5.7.37如何设置Cmake:configuration以及成功debug教程

news2024/11/30 12:36:44
前提:已经在服务器上编译安装好mysql5.7.37源码了,这里只是记录一下使用vscode远程连接服务器时如何成功debug,这篇与我发布的关于openGauss源码部署有双向链接关系,后续可方便查看。

1. 远程连接服务器进入连接界面

在这里插入图片描述

2. 设置Cmake参数

方法有三,我是第一种方法成功。

法一:

  1. 打开settings.json
  2. 写入以下内容

{
    "cmake.sourceDirectory": "/usr/local/mysql/cmake-3.20.2/Auxiliary",

    "cmake.buildBeforeRun": true,
    "cmake.buildDirectory": "${workspaceFolder}/cmake-build-debug/build",
    "cmake.configureSettings": {
        "WITH_DEBUG": "1",
        "CMAKE_INSTALL_PREFIX": "${workspaceFolder}/cmake-build-debug",
        "MYSQL_DATADIR": "${workspaceFolder}/cmake-build-debug/data",
        "SYSCONFDIR": "${workspaceFolder}/cmake-build-debug/etc",
        "MYSQL_TCP_PORT": "3307",
        "MYSQL_UNIX_ADDR": "${workspaceFolder}/cmake-build-debug/data/mysql-debug.sock",
        "WITH_BOOST": "/usr/local/mysql/mysql-5.7.37/boost/boost_1_59_0/", 
        "DOWNLOAD_BOOST": "1",
        "DOWNLOAD_BOOST_TIMEOUT": "600"
    }
}

在这里插入图片描述
3. 编辑launch.json
这里注意miDebuggerPath位置一定要正确,我当时报错原因是我的服务器没有安装gdb,所以显示路径不正确。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "MySQL-debug",
            "type": "cppdbg",
            "request": "launch",
            "program": "/usr/local/mysql/bin/mysqld",
            "args": ["--user=mysql --datadir=/usr/local/mysql/data"],
            "stopAtEntry": true,
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "gdb",
            "miDebuggerArgs": "gdb",
            "linux": {
                "MIMode": "gdb",
                "miDebuggerPath": "/usr/bin/gdb"
            },
            "logging": {
                "moduleLoad": false,
                "engineLogging": false,
                "trace": false
            },
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "cwd": "${workspaceFolder}",
        }
    ]
}

yum install gdb
rpm -ql gdb 

在这里插入图片描述

  1. 点击debug就成功了
    成功界面如第一张图所示。

法二

File → Preferences → Settings → 'cmake:Configure' → 【Cmake:Configure Args】-DWITH_BOOST=/usr/local/mysql/mysql-5.7.37/boost/boost_1_59_0/
-DDOWNLOAD_BOOST=1

法三

按下Ctrl + ,,选择workspace,在左侧选择extension,再选中Cmake,找到Configuration Args,添加以下参数:

-DDOWNLOAD_BOOST=1
-DWITH_BOOST=/usr/local/mysql/mysql-5.7.37/boost/boost_1_59_0/

这里注意一下,我是一开始就预先在自己的虚拟机上编译完成了一遍,所以这里即使再编译一次也是很快完成,所以这篇博客的目的重在已经预先在自己的虚拟机上成功编译安装好源码后,如何通过vscode远程连接服务器来进行debug操作的(毕竟vscode方便看源码噻~)

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

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

相关文章

《计算机网络—自顶向下方法》 第三章Wireshark实验:DNS协议分析

域名系统 DNS(Domain Name System) 是互联网使用的命名系统,用于把便于大家使用的机器名字转换为 IP 地址。许多应用层软件经常直接使用 DNS,但计算机的用户只是间接而不是直接使用域名系统。 互联网采用层次结构的命名树作为主机的名字,并使…

达索的有限元分析软件Abaqus 2023版本下载与安装配置教程

目录 前言一、安装前准备二、Abaqus 安装总结 前言 Abaqus软件是一款广泛使用的有限元分析软件,可用于模拟各种工程应用程序,包括结构、流体力学、热传递、电磁和声学等。该软件提供了广泛的建模功能和多种求解器,可以帮助工程师预测材料和结…

lowcode-cms开源社区源码设计分享

开源背景 lowcode可视化社区 是我之前在设计研发 Dooring低代码 平台时开发的一个面向低代码内容分享的知识社区, 内容端采用 SSR 技术来渲染页面, 对 SEO 更加友好, 同时后端服务采用 Nodejs 来实现, 内容端和服务端同端, 也就是传说中的内容服务“同构”. 管理端采用前端最最…

【JUC】线程池有哪 4 种拒绝策略?

第一种拒绝策略是 AbortPolicy,这种拒绝策略在拒绝任务时,会直接抛出一个类型为 RejectedExecutionException 的 RuntimeException,让你感知到任务被拒绝了,于是你便可以根据业务逻辑选择重试或者放弃提交等策略。 第二种拒绝策略…

ChatGPT自动生成大厨菜谱

大厨菜谱 最近几年,越来越多年轻人也开始尝试自己在家做菜吃饭,而不仅仅是外出就餐或点外卖。有些人可以向长辈讨教做菜心得,有些人则开始尝试从互联网搜索学习菜谱。著名的"下厨房" App,就是针对这个需求应运而生的。…

华为许超:伙伴成功,才有华为企业业务成功

伙伴,可以说是今年ICT行业最为重要的词。各大厂商都在强调伙伴优先,发力伙伴体系构建。然而行业内更多是厂商单维度的信息释放,重视强调厂商面向伙伴的支持与赋能。这个过程中,似乎普遍缺少一个视角:那就是伙伴究竟需要…

美团一面:Spring Cloud 如何构建动态线程池?

美团一面:Spring Cloud 如何构建动态线程池? 说在前面 在40岁老架构师 尼恩的读者交流群(50)中,最近有小伙伴拿到了一线互联网企业如美团、极兔、有赞、希音、百度、网易、滴滴的面试资格,遇到一几个很重要的面试题:…

最强linux抓包工具优劣势对比分析

ngrep 核心参数 参数名称参数介绍-q禁止在屏幕上输出匹配行-d定义网络接口,可以多次使用-W设置缓冲区大小,单位为MB,默认为2MB-n不解析ASCII数据-i设置网络接口,与-d参数相同-P将解析的协议名称作为输出的一部分-t显示时间戳-O输出…

Linux——线程1

背景知识 堆区细粒堆划分 我们在申请堆空间时,我们只是设置了空间大小,并未设置空间从哪里结束。 堆区里面的详细信息,如某段空间从哪开始,从哪结束,由vm_area_struct负责记录,每申请一段空间就增加一个vm_…

优于FCOS:在One-Stage和Anchor-Free目标检测中以最小的成本实现最小的错位(代码待开源)...

关注并星标 从此不迷路 计算机视觉研究院 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 计算机视觉研究院专栏 作者:Edison_G 与基线FCOS(一种单阶段和无锚目标象检测模型)相比,新提出的模型…

STL-map容器

作为关联式容器的一种,map 容器存储的都是 pair 对象,也就是用 pair 类模板创建的键值对。其中,各个键值对的键和值可以是任意数据类型,包括 C基本数据类型(int、double 等)、使用结构体或类自定义的类型。…

IDEA中java文件出现黄色的J文件同时maven项目导入了依赖但是idea依赖加不进去的问题记录

IDEA导入项目后依赖jar包没有显示 报错提示尝试的解决方法检查对应的sdkmodule等配置信息开始尝试是不是版本问题,因为对上述maven报错进行查询,好像是因为版本太高导致的,开始下一个低版本进行尝试切换版本即可解决 总结后续出现的BUG 此次环…

Linux基本指令(三)

Linux基本指令 一.data指令1.基本使用2.时间戳 二.cal指令三.find指令四.grep指令五.zip/unzip指令六.tar指令(打包/解包,不打开直接看内容)七.bc指令八.uname指令九.几个重要热键十.关机 一.data指令 1.基本使用 下面不需要记住&#xff0c…

nodejs+Vue+elementui农家乐管理系统系统-住宿-美食-活动报名系统vue

语言 node.js 框架:Express 前端:Vue.js 数据库:mysql 数据库工具:Navicat 开发软件:VScode 目 录 管理员在还可以进行首页、个人中心、农家乐管理、美食信息管理、住宿信息管理、活动信息管理、用户管理、活动报名管理、客房预…

English Learning - L3 作业打卡 Lesson1 Day5 2023.5.9 周二

English Learning - L3 作业打卡 Lesson1 Day5 2023.5.9 周二 引言🍉句1: Fast loud music is popular with many people .成分划分爆破语调 🍉句2: They may say the music is red hot, especially the kind called Dixieland jazz.成分划分爆破语调 &a…

Ae 入门系列之十二:三维合成

在 Ae 中,可以将图层设置为 3D 图层并添加动态的摄像机和灯光,从而制作基于三维空间的动画。 ◆ ◆ ◆ 二维与三维 二维 2D 在一个平面上的内容就是二维。只有上下、左右两个方向,没有前后。即,只有面积,没有体积。 …

FX DocuCentre S2520~~富士施乐 DocuCentre S2520和2022打印机驱动安装

先确定打印机IP 1. 12楼打印机IP 13楼 2楼 192.168.20.251 192.168.20.252 192.168.10.252 2. 下载安装驱动 2520富士施乐 DocuCentre S2520 驱动下载 - 驱动天空 (drvsky.com) 2022富士施乐 DocuCentre SC2022 驱动下载 - 驱动天空 (drvsky.com) 3. 添加驱动配置 安装驱动配…

解决问题,是管理者最了不起的才华

作者| Mr.K 编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 小C和小Y是K哥下面的两个主管,都管着10多人的团队,但他们带队伍的风格完全不同。小C名校毕业,理论基础扎实,彼得德鲁克、约翰科特的管理思想&#xff0c…

如何解决过度拟合

数量技术宅团队在CSDN学院推出了量化投资系列课程 欢迎有兴趣系统学习量化投资的同学,点击下方链接报名: 量化投资速成营(入门课程) Python股票量化投资 Python期货量化投资 Python数字货币量化投资 C语言CTP期货交易系统开…

Ae:合成查看器 - 3D 视图选项

当启用 3D 图层后,合成查看器右下方将出现与 3D 视图相关的按钮与菜单。 草图 3D Draft 3D 启用后,Ae 将使用 GPU 加速来实时显示对 3D 设计所做的更改或更新。这种体验无缝流畅且速度更快,因此可避免在预览时发生延迟,使用任意摄…