VS2019远程调试MySQL

1、VS2019准备

1、安装vs2019社区版,并确保安装如下两个开发组件:

Visual Studio Tools for CMake
适用于 Linux 开发的 Visual C++

在这里插入图片描述
2、启动VS2019,添加远程地址,在“工具->选项->跨平台”页面添加远程服务器信息

在这里插入图片描述

3、使用VS2019打开本地源码目录:

在这里插入图片描述

4、在“项目->CMake设置”中对远程机器的CMake选项进行配置,具体内容可参考json脚本:

在这里插入图片描述
可通过+号增加Linux-Debug设置,并将默认的x64-Debug删除即可,并根据需要调整cmake参数,与编译器参数等。或者直接编辑json文件也可:

{
  "configurations": [
    {
      "name": "Linux-Debug",
      "generator": "Unix Makefiles",
      "configurationType": "Debug",
      "cmakeExecutable": "/usr/bin/cmake",
      "remoteCopySourcesExclusionList": [ ".vs", ".git", "out" ],
      "cmakeCommandArgs": "-DWITH_DEBUG=1",
      "buildCommandArgs": "-j4",
      "ctestCommandArgs": "",
      "inheritEnvironments": [ "linux_x64" ],
      "remoteMachineName": "${defaultRemoteMachineName}",
      "remoteCMakeListsRoot": "$HOME/.vs/${projectDirName}/${workspaceHash}/src",
      "remoteBuildRoot": "$HOME/.vs/${projectDirName}/${workspaceHash}/out/build/${name}",
      "remoteInstallRoot": "$HOME/.vs/${projectDirName}/${workspaceHash}/out/install/${name}",
      "remoteCopySources": true,
      "rsyncCommandArgs": "-t --delete --delete-excluded",
      "remoteCopyBuildOutput": false,
      "remoteCopySourcesMethod": "rsync",
      "addressSanitizerRuntimeFlags": "detect_leaks=0",
      "variables": []
    }
  ]
}

保存编辑后将自动开始拷贝源代码到远程主机,一般路径为/root/.vs/mysql-8.0.19-ubuntu,并开始远程执行cmake命令,成功后会显示CMake生成完毕等字样。

5、开始远程编译,可以将VS2019的解决方案资源管理器窗口切换到CMake视图。点击全部生成开始远程项目编译过程。此过程较长,可耐心等待一会儿…

若编译过程中与服务器中断,可取消编译,在重新编译即可。

2、使用VS2019调试服务

1、首先在CMake视图下将mysqld项目右键设为启动项;

2、首次启动需要创建数据目录,可通过项目右键“调试和启动设置”,打开json编辑页,对启动参数进行第一次调整:

setupCommands
...
"args":[
 "--datadir=x",
 "--console",
 "--gdb",
 "--ssl=1",
 "--port=20202",
 "--socket=/tmp/gkodinov_20202.sock",
 "--initialize-insecure"
],
visualizerFile
...

3、在后续的启动过程中,若要修改启动参数,均需重复上述第二步,确保添加或删除的参数正确。

4、设置断点调试,若需要像在windows下一样调试mysql,可以在合适的代码位置增加断点后按F5启动运行即可。与windows调试类似。一个有趣的地方是sql/mysqld.cc中的init_server_components()。

5、写在最后,该方式的远程调试也是VS最近新加的功能,所以可能不太稳定,所以可以保持VS的版本更新。同时,远程调试因为相互交互信息会有一些卡顿。

6、参考资料

https://mysqlserverteam.com/compiling-mysql-in-visual-studio-on-a-remote-linux-box/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值