Preface

最近小伙伴讨论到了如何调试c/cpp 应用, 其中讲到了 compile db 这个组件, 不是很了解, 这里学习下

redis

先用redis调试, 其中主要参考了 https://my.oschina.net/icebergxty/blog/4309023, 整个过程都成功了, 但是需要注意的是, 在创建调试的配置的时候, 选择的是二进制的应用, 而不是 server.c, 虽然选择的是二进制, 但是调试还是可以的, 打的断点可以执行到.

使用 compile db 调试, 避免了 在每个模块添加 CMakeList.txt 的操作, 快速很多

参考的blog是中文的, 可以参考英文官方文档: https://www.jetbrains.com/help/clion/custom-build-targets.html#.

mysql

cmake
-DCMAKE_INSTALL_PREFIX=/Users/jianhaixu/secrect/opensource/mysql-server/debug
-DMYSQL_DATADIR=/Users/jianhaixu/secrect/opensource/mysql-server/debug/data
-DSYSCONFDIR=/Users/jianhaixu/secrect/opensource/mysql-server/debug
-DMYSQL_UNIX_ADDR=/Users/jianhaixu/secrect/opensource/mysql-server/debug/data/mysql.sock
-DWITH_DEBUG=1
-DFORCE_INSOURCE_BUILD=1
-DDOWNLOAD_BOOST=1
-DWITH_BOOST=/Users/jianhaixu/Downloads/boost_1_70_0

make -j 4

make install -j 4

bin/mysqld –initialize-insecure –user=root –datadir=/Users/jianhaixu/secrect/opensource/mysql-server/debug/data

bin/mysqld –defaults-file=/Users/jianhaixu/secrect/opensource/mysql-server/debug/etc/my.cnf