译者注
引言
1.
第一章 调试符号和调试器
❱
1.1.
调试符号
1.2.
调试符号概览
1.3.
DWARF格式
1.4.
不一致的数据类型
1.5.
调试器的内在
1.6.
技巧和注意事项
1.7.
特殊的调试符号
1.8.
断点和监测点
1.9.
改变运行和副作用
1.10.
自动化符号匹配
1.11.
事后的分析
1.12.
内存保护
1.13.
断点不工作
1.14.
总结
2.
第二章 堆数据结构
❱
2.1.
理解内存管理器
2.2.
Ptmalloc
2.3.
Tcmalloc
2.4.
多个堆
2.5.
利用堆元数据
2.6.
总结
3.
第三章 内存损坏
❱
3.1.
内存是怎么损坏的
3.2.
调试内存损坏
3.3.
内存调试工具
4.
第四章 C/C++对象布局
❱
4.1.
对齐
4.2.
大小端
4.3.
C++对象布局
4.4.
搜索引用树
5.
第五章 优化后的二进制
❱
5.1.
调试版本和发行版本的区别
5.2.
调试优化代码的挑战
5.3.
汇编代码介绍
6.
第六章 进程镜像
7.
第七章 多线程问题
8.
第八章 更多调试进程
9.
第九章A Python拓展gdb
❱
9.1.
美化输出
9.2.
将重复的工作变成一个命令
9.3.
编写你自己的美化器
10.
第十章A 使用地址消毒工具
11.
附录A 拓展调试能力
12.
附录B 调试混合语言
Light (default)
Rust
Coal
Navy
Ayu
Effective Debugging
更新
2024-07-05 本书已经出版
由于本库的草稿是我之前一个人写的,所以质量和正确性都不如经过两位作者和出版社编辑审阅和校正过的书稿。 如果你想阅读更加完善的版本,推荐购买正版书籍。
附录B 调试混合语言