简介
这个GitHub仓库深入探讨了我认为对理解Windows上复杂问题的调试和故障排除很重要的基本概念。我所指的不是像AD复制或打印机故障这样的问题,而是与崩溃转储、挂起、性能问题和内存泄漏等相关的问题。
最初我创建这个仓库是作为个人参考,当时(现在仍然)在学习更多关于这个主题的知识。随着时间的推移,我决定整合这些资源并公开,希望能帮助那些热衷于探索这个主题并想了解更多的人。这些内容的受众应该是那些想要入门的人,可能来自IT专业背景。这个GitHub仓库可能是未来内容的先决条件。
内容被组织成各个部分,每个部分都尽可能地实践性强。我相信实践是掌握的关键。因此,每个部分都不仅仅涉及理论方面,还强调使用Visual Studio、Process Explorer和WinDbg等工具的实际例子。点击**"调试101"**开始学习。
如果你喜欢我的内容并想用一杯咖啡支持我:
主题
将涵盖以下主题:
调试101
- 第0节:如何开始?
- 第1节:MEX扩展简介
- 第2节:启用事后调试
- 第3节:访问违规
- 第4节:设置和创建第一个驱动程序
- 第5节:代码缺陷
- 第6节:句柄
- 第7节:Debug Diag
- 第8节:Windows性能工具包简介
- 第9节:崩溃转储分类
编码基础
C语言:
- 第1节:变量
- 第2节:运算符
- 第3节:控制流
- 第4节:指针、数组和字符串
- 第5节:结构体
- 第6节:输入输出
- 第7节:命令行参数
- 第8节:内存分配
- 第9节:链表
C++语言:
- 第1节:类
- 第2节:初始化列表
- 第3节:函数重载和模板
- 第4节:拷贝和移动构造函数
- 第5节:继承
- 第6节:智能指针
- 第7节:标准库
Windows API
- 第1节:线程
- 第2节:临界区
- 第3节:条件变量
- 第4节:内联函数
- 第5节:等待函数和信号
- 第6节:事件信号
- 第7节:互斥锁
- 第8节:信号量
- 第9节:轻量级读写锁
内核取证
- 第1节:内核池内存
- 第2节:ERESOURCE
- 第3节:KMUTEX
- 第4节:快速互斥锁
- 第5节:中断请求级别(IRQL)
- 第6节:受保护互斥锁
- 第7节:事件信号
- 第8节:信号量
- 第9节:推送锁
- 第10节:自旋锁
- 第11节:内核回调