源码阅读环境配置为:Clion+WSL2,支持阅读和调测。WSL2提供编译工具链,源码也下在里面。主要参考了这位兄弟的文章:# 使用 CLion 编译调试 MySQL 8.0。
下面是个人的一些个性化配置。
- 给WSL2增加系统资源。通过用户目录下的
.wslconfig文件进行配置。[wsl2] # Limits VM memory to use no more than 4 GB, this can be set as whole numbers using GB or MB memory=10GB # Sets the VM to use two virtual processors processors=4 # Sets amount of swap storage space to 8GB, default is 25% of available RAM swap=0GB - 配置Clion的编译工具链:
File | Settings | Build, Execution, Deployment | Toolchains- 在
Toolchains中新增一个WSL类型的工具链。Clion会自动导入本机的WSL实例,并找到编译工具链。 - 在
CMake中新增Profile。我本地的选项配置如下。-DCMAKE_BUILD_TYPE=Debug -DWITH_BOOST=/home/dalton/z_back/boost/boost_1_77_0 -DCMAKE_INSTALL_PREFIX=/home/dalton/z_back/mysql-server/cmake-build-debug-mysql -DMYSQL_DATADIR=/home/dalton/z_back/mysql-server/cmake-build-debug-mysql/data -DSYSCONFDIR=/home/dalton/z_back/mysql-server/cmake-build-debug-mysql -DMYSQL_UNIX_ADDR=/home/dalton/z_back/mysql-server/cmake-build-debug-mysql/mysql.sock
- 在
- 直接打开源码目录,Clion会自动执行
Cmake命令。 - 修改
mysqld程序的Run/Debug Configuration。- 程序参数:
--basedir=/home/dalton/z_back/mysql-server/cmake-build-debug-mysql --datadir=/home/dalton/z_back/mysql-server/cmake-build-debug-mysql/data --user=dalton - 工作目录:
\\wsl$\ubuntu2004\home\dalton\z_back\mysql-server\cmake-build-debug-mysql\data
- 程序参数:
- 记得初始化数据库。
bin/mysqld --basedir=/home/dalton/c_mysqldb/mysql-server/build --datadir=/home/dalton/c_mysqldb/mysql-server/build/data --user=dalton --initialize-insecure - 在Clion的
Registry参数:cidr.debugger.timeout。Debug的时候如果程序加载较慢,超过30s,会报:Command time out的错误。