![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 63
1lI
长沙码农
展开
-
ClickHouse client参数获取源码解析
背景源码版本ClickHouse 21.8。在命令行输入配置项不全也可以匹配到正确的配置项(模糊匹配)。对此进行代码分析。源码阅读在programs/main.cpp中main函数为主入口,通过程序名称判断进入哪个子程序入口。这里执行程序名为-client所以进入programs/client/Client.cpp的mainEntryClickHouseClient函数。int main(int argc_, char ** argv_){ inside_main = true;原创 2021-12-17 09:22:14 · 666 阅读 · 0 评论 -
GDB 调试 printer
背景随着程序体量越来越大,编译越来越慢。如果还是 添加打印->编译->执行看打印 的方式调试的话在编译的时候太耗时。使用gdb调试程序可以更节约时间。安装GDB调试环境环境:Redhat7.6 编译器gcc11。程序编译时需要是debug版本,包含编译选择-g。且-O优化需要最低,这样可以保证调试时可以输出变量值,而不是显示变量被优化输出。编译后的可执行文件格式为Dwarf5。默认gdb版本7.6无法调试。需要:升级gdb版本指定编译可执行文件格式为Dwarf2 /Dwarf3/原创 2021-12-16 20:58:08 · 623 阅读 · 0 评论