01
编译日志初识
什么是编译日志 · 生成过程 · 常见格式与结构
基础概念
02
编译环境搭建
GCC/G++安装 · Make配置 · CMake基础 · 环境变量
工具链环境
03
日志级别与分类
Error/Warning/Info/Debug区别 · 处理策略
日志级别
04
常见错误类型 (上)
语法错误 · 类型不匹配 · 未定义标识符 · 缺少头文件
语法类型
05
常见错误类型 (中)
链接错误 · 重复定义 · 未解析符号 · 库文件缺失
链接库
06
常见错误类型 (下)
段错误 · 内存泄漏 · 栈溢出 · 运行时异常
运行时内存
07
Warning的陷阱
未初始化变量 · 隐式转换 · 废弃函数 · 忽略返回值
警告隐患
08
定位技巧 (上)
从第一行错误开始 · 行号列号 · 错误上下文
定位基础
09
定位技巧 (中)
grep过滤 · awk提取行号 · 日志分割与合并
命令行文本处理
10
定位技巧 (下)
增量编译 · 二分注释 · 最小复现代码
策略调试
11
GCC编译选项详解
-Wall -Wextra -Werror · 优化级别 · -g调试
GCC选项
12
Makefile中的日志控制
输出重定向 · 静默编译 · 错误自动停止
Make构建
13
CMake中的日志管理
message()函数 · 变量打印 · 生成器表达式
CMake调试
14
静态分析工具
cppcheck · clang-tidy · PVS-Studio
静态分析质量
15
动态分析工具
Valgrind · AddressSanitizer · UBSan
动态内存
16
IDE集成调试
VS Code任务 · CLion CMake · Eclipse控制台
IDE集成
17
日志格式化与美化
colordiff · ccze · multitail
美化终端
18
大型项目日志分析
增量编译日志 · 并行合并 · 分布式构建
大型项目规模化
19
持续集成中的日志
Jenkins · GitLab CI · GitHub Actions
CI自动化
20
日志中的时间戳分析
编译耗时统计 · 瓶颈定位 · 增量优化
性能时间
21
模板错误解读
C++模板实例化 · STL错误简化 · concept约束
模板C++
22
宏展开导致的错误
预处理器输出 · 宏调试 · 展开后定位
宏预处理
23
链接器脚本错误
LD脚本语法 · 符号定位 · 内存布局冲突
链接器脚本
24
交叉编译日志
工具链配置 · sysroot路径 · ABI不兼容
交叉编译嵌入式
25
第三方库集成错误
find_package失败 · 头文件搜索 · 版本冲突
库集成依赖
26
编译缓存问题
ccache配置 · 命中率分析 · 缓存清理
缓存加速
27
并行编译的日志
make -j · 依赖关系 · 竞争条件随机失败
并行竞争
28
日志归档与检索
命名规范 · 按日期归档 · 全文搜索引擎
归档检索
29
自动化修复脚本
sed/awk替换 · Python解析 · CI自动重试
自动化脚本
30
综合实战
从零构建C++项目 · 模拟10种错误 · 完整修复流程
实战综合