[编程语言] 软件调试纵横谈28节
本课程纵览软件调试的整个“生态系统”,从CPU、操作系统、编译器和调试器四个纵向层次上对Windows和Linux平台上的调试设施和方法展开横向比较,从调试角度审视Windows,Linux,GCC,Visual Studio,GDB和WinDBG等著名平台和工具,既有深度,又有广度。整个课程理论讲解和实验演示紧密结合
第一部分:CPU的调试支持
序言
概览和软件断点
硬件断点、陷阱和
第二部分:操作系统的调试支持
概览和内核调试
内核调试演示
用户态调试原理
应用程序调试原理——
操作系统的异常分发过程
结构化异常处理(SEH)演示
未处理异常:默认过滤器和JIT调试
第三部分:编译器的调试支持
调试符号
第四部分:调试器
用户态调试器原理和调试事件
精要[上]:设置路径
精要[中]:表达式和硬件断点
精要[下]:远程调试
第五部分:应用程序崩溃和用户态转储
信息输出、ETW和
转储、轨迹追踪、WER和
第六部分:栈调试
栈的自动增长、栈帧
栈上的缓冲区溢出、溢出攻击
基于Cookie的安全检查(GS机制
内核态栈
第七部分:堆调试
堆概要
堆的调试支持
页堆
堆的调试支持
和应用验证器
第八部分:多线程调试
线程与进程
临界区与调试支持
死锁和死循环
案例和互锁机制
第九部分:内核调试
内核调试概要
使用KD理解内核
双机用户态调试
第十部分:高级调试技巧
调试事件、调试会话中的服务和总结
常见问题FAQ
- 美化包支持最新版本吗?
- 素材虎最新美化支持永久更新!
- 美化包支持最新版本吗?
- 素材虎最新美化支持永久更新!