Mac + VsCode調(diào)試MySql源碼

  1. 下載源碼
    源碼地址:https://github.com/mysql/mysql-server. Mac安裝環(huán)境

    mysql版本:v8.0.31

  2. 環(huán)境搭建

  3. vscode

    • 安裝擴(kuò)展:C/C++、C/C++ Clang Command Adapter、CodeLLDB、CMake Tools
    • 配置編譯
      mkdir -p cmake-build-debug/{data,etc}
      .vscode.settings.json
      {
        "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": "${workspaceFolder}/boost",
            "DOWNLOAD_BOOST": "1",
            "DOWNLOAD_BOOST_TIMEOUT": "600"
        },
        "git.ignoreLimitWarning": true
      }
      
    • 編譯


      image.png

      image.png
  4. 初始化數(shù)據(jù)庫(kù)
    cat > etc/my.cnf <<EOF
    [mysqld]
    port=3307
    socket=mysql.sock
    innodb_file_per_table=1
    EOF
    cmake-build-debug/build/runtime_output_directory/mysqld --initialize-insecure

  1. 配置Debug
    mkdir .vscode.launch.json
    {
    // 使用 IntelliSense 了解相關(guān)屬性。 
    // 懸停以查看現(xiàn)有屬性的描述。
    // 欲了解更多信息,請(qǐng)?jiān)L問(wèn): https://go.microsoft.com/fwlink/?linkid=830387
      "version": "0.2.0",
      "configurations": [
          {
              "type": "lldb",
              "request": "launch",
              "name": "Debug mysqld",
              "program": "${workspaceFolder}/cmake-build-debug/build/runtime_output_directory/mysqld",
              "args": [
                  "--defaults-file=${workspaceFolder}/cmake-build-debug/etc/my.cnf"
              ],
              "cwd": "${workspaceFolder}"
          },
         {
              "type": "lldb",
              "request": "launch",
              "name": "Debug mysql",
              "program": "${workspaceFolder}/cmake-build-debug/build/client/mysql",
              "args": [
                  "-uroot",
                  "-P3307",
                  "-h127.0.0.1"
              ],
              "cwd": "${workspaceFolder}"
          }
      ]
    }
    

debug運(yùn)行

參考:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容