使用VSCode远程调试MySQL

源码编译安装MySQL Debug版本

安装依赖包

## 5.7
yum -y install ncurses-devel bison openssl-devel cmake centos-release-scl devtoolset-7
scl enable devtoolset-7 bash

## 8.0
wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz
tar xf cmake-3.5.2.tar.gz
cd cmake-3.5.2
./bootstrap 
make -j 8
make install
yum -y install ncurses-devel bison openssl-devel  centos-release-scl devtoolset-10
scl enable devtoolset-10 bash

下载MySQL源码并编译Debug版本


wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.26.tar.gz

tar zxvf mysql-boost-8.0.26.tar.gz

cd mysql-8.0.26

## 编译为DEBUG版本
cmake . \
-DWITH_DEBUG=1 \
-DWITH_BOOST=./boost/ \
-DCMAKE_INSTALL_PREFIX=/data/mysql/8.0.32/base \
-DFORCE_INSOURCE_BUILD=1

make -j4 && make install

## 初始化并启动MySQL
...

配置VSCode

 VSCode安装Remote-SSH、C/C++和扩展插件及GDB Debug,如下:

 配置调试文件

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        
        {
            "name": "Remote-GDB-Attach-MySQL",
            "type": "cppdbg",
            "request": "attach",
            "program": "/data/mysql/8.0.32/base/bin/mysqld",
            "processId": "${command:pickProcess}",
       "miDebuggerPath": "/usr/bin/gdb",
"MIMode": "gdb", "setupCommands": [ { "description": "远程调试MySQL", "text": "-enable-pretty-printing", "ignoreFailures": true }, { "description": "将反汇编风格设置为 Intel", "text": "-gdb-set disassembly-flavor intel", "ignoreFailures": true } ] }, { "name": "CoreDump", "type": "cppdbg", "request": "launch", "program": "/usr/local/mysql/bin/mysqld", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "coreDumpPath": "/tmp/core-mysqld-6-0-0-30342-1655369975" } ] }    

随后就可以使用VSCode远程调试MySQL或分析MySQL Coredump文件。

posted @ 2023-03-27 22:23  吃饭端住碗  阅读(255)  评论(1编辑  收藏  举报