本文目标是可以从 Windows
VSCode 环境远程访问 Linux 的 mysql源码, 以及执行 GDB 远程调试首先准备以下软件在本地机器上:在远程机器上:编译安装mysql(注意编译时需开启
-DWITH_DEBUG=1),并且启动mysql实例,这里我是在centos(CentOS Linux release 7.7.1908)上面编译安装的mysql8.0.18(为方便没有
mysql编译安装经验的读者回头另写一篇
mysql8.0.18编译安装)安装 gdb,yum install gdb
VSCode主界面查看
->扩展
搜索 “Remote – Development” 并安装,安装成功后左边会有个电脑图标
首先改设置, 左下角管理(⚙)
->设置
, 搜 “remote.SSH”, 勾选remote.SSH.showLoginTerminal
完后就可以连接到远程机器了, 为避免频繁输入密码建议使用免密ssh登录首先生成密钥:然后在 VSCode 主界面ctrl+shift+p
选Remote.SSH: Open Configuration File
, 输入以下内容:在 VSCode 主界面ctrl+shift+p
选Remote.SSH: Connect to host
, 输入root@
, 成功后界面左下角会有SSH:
的已连接状态, 同时这个 VSCode 也变成了该远程连接的专属实例,
然后就可以从侧边栏打开项目路径了, 点击左边的资源管理器,点击打开文件夹,在下图蓝框处输入mysql源码路径(注意不是编译后的运行程序路径是源码解压路径,我的环境源码路径为/home/mysql/rpmbuild/SOURCES/mysql-8.0.18,这里我还向下选择sql目录,因为mysql的大多数核心代码在该目录下,如main函数)
安装一些需要的扩展, 如:有些扩展是要安装在 SSH 的目标机器上, 安装时会提示你install on SSH: xxxx
, 而主题类扩展和一部分功能类扩展是安装在本地机器上在远程 Linux 机器上运行如下代码:
(注意这个代码我执行成功了,后面的mysql参数是我根据参考文章猜测写的,这里是指定了mysql配置文件以及启动用户和mysql实例启动时的一致,没有仔细查阅gdbserver命令行用法,欢迎指正。顺便贴下我mysql的启动命令方便读者佐证,
/usr/local/mysql/bin/mysqld–defaults-file=/etc/my.cnf –initialize –user=mysql –basedir=/usr/local/mysql –datadir=/data/mysql
)我vm虚机远程 Linux 机器 IP 是192.168.126.128
, gdbserver 的端口设为2333
, 在 VSCode 机器上, 进入菜单调试
->添加配置
, 会生成一个配置文件SSH之后的项目根目录/.vscode/launch.json
, 将其修改如下:几个注意的地方:之后就可以使用调试功能了, 添加断点, 监视等等, 如图:
在 VSCode 的调试控制台输入变量名, 就可以直接打印出来, 想使用默认的调试器命令要在前面加-exec
, 如-exec p/x args
附 gdbserver usage
使用 VSCode 远程访问代码以及远程 GDB 调试
线程简介和MySQL调试环境搭建(这篇是八怪在知数堂发布的开发云主机域名 深入理解mysql主从原理的29讲 一个收费课程,30多块很划算想深入学习这块的可以买下)
相关推荐: Limitations of Online DDL for MySQL
Take the following limitations into account when running online DDL operations: During an online DDL operation that copies the tab…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。