本课程从CPU查看软件调试的整个“生态系统”、操作系统、编译器和调试器对Windows和Linux平台上的调试设施和方法进行横向比较,从调试的角度审视Windows,Linux,GCC,Visual Studio,GDB、WinDBG等著名的平台和工具,既有深度又有广度。整个课程的理论讲解与实验演示紧密结合
第一部分:CPU调试支持
序言
软件断点的概览和软件断点
硬件断点、陷阱和
第二部分:操作系统的调试支持
概述和内核调试
核心调试演示
用户态调试原理
应用程序调试原理——
操作系统的异常分配过程
异常结构化处理(SEH)演示
未处理异常:默认过滤器和JIT调试
第三部分:编译器的调试支持
调试符号
第四部分:调试器
用户态调试器原理及调试事件
精要(上):设置路径
精要(中):表达式和硬件断点
精要(下):远程调试
第五部分:应用程序崩溃和用户态转储
信息输出,ETW和
转储、轨迹跟踪、WER和
第六部分:栈调试
栈的自动生长,栈帧
栈上的缓冲区溢出和溢出攻击
基于Cookie的安全检查(GS机制)
内核态栈
第七部分:堆调试
堆概要
堆的调试支持
页堆
堆的调试支持
以及应用验证器
第八部分:多线程调试
线程与进程
支持临界区和调试
死锁和死循环
案例与互锁机制
第九部分:内核调试
核心调试总结
使用KD了解内核
双机用户态调试
第十部分:高级调试技能
调试事件、调试会话中的服务和总结
[我要扒资料]
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。