400-886-0806
软件调试纵横谈

优惠价:¥480.00

42132
人次学习

课程简介

本课程纵览软件调试的整个“生态系统”,从CPU、操作系统、编译器和调试器四个纵向层次上对Windows和Linux平台上的调试设施和方法展开横向比较,从调试角度审视Windows,Linux,GCC,Visual Studio,GDB和WinDBG等著名平台和工具,既有深度,又有广度。整个课程理论讲解和实验演示紧密结合,由《软件调试》一书的作者设计所有讲义并亲自讲授。

讲师介绍

张银奎

英特尔亚太研发中心资深软件架构师,微软全球最有价值技术专家(MVP),同济大学电子与信息工程学院特邀讲师。《软件调试》、《格蠹汇编》的作者,新版《十万个为什么》电子分册撰稿人之一,《程序员》杂志调试之剑栏目作者。1996年毕业于上海交通大学,在软件产业工作20年,在多家跨国公司历任软件架构师、开发经理、项目经理等职务,对操作系统内核、驱动程序、虚拟化技术、云计算、软件调优,尤其是软件调试有较深入研究。
从2005年开始公开讲授“Windows内核及高级调试”课程,曾在微软的Webcast和各种技术会议上做过《Windows Vista内核演进》、《调试之剑》(全球软件案例研究峰会)、《感受和思考调试器的威力》(CSDN SD2.0 大会)、《Windows启动过程》、《如何诊断和调试蓝屏错误》、《Windows体系结构——从操作系统的角度》(以上三个讲座都是微软“深入研究Windows内部原理系列”的一部分)等。

课程大纲

第一部分:CPU的调试支持
1.序言
2.概览和软件断点
3.硬件断点、陷阱和JTAG
第二部分:操作系统的调试支持
4.概览和内核调试
5.Windows内核调试演示
6.Windows用户态调试原理
7. Linux应用程序调试原理——Ptrace
8.Windows操作系统的异常分发过程
9.结构化异常处理(SEH)演示
10.未处理异常:默认过滤器和JIT调试
第三部分:编译器的调试支持
11.调试符号
第四部分:调试器
12.用户态调试器原理和调试事件
13.WinDBG精要[上]:设置路径
14.WinDBG精要[中]:表达式和硬件断点
15.WinDBG精要[下]:远程调试
第五部分:应用程序崩溃和用户态转储
16.信息输出、ETW和WPT
17.转储、轨迹追踪、WER和WDI
第六部分:栈调试
18.栈的自动增长、栈帧
19.栈上的缓冲区溢出、溢出攻击
20.基于Cookie的安全检查(GS机制)
21.内核态栈
第七部分:堆调试
22.堆概要
23.Win32堆的调试支持
24.页堆
25.CRT堆的调试支持
26.UMDH和应用验证器
第八部分:多线程调试
27.线程与进程
28.临界区与调试支持
29.死锁和死循环
30.案例和互锁机制
第九部分:内核调试
31.内核调试概要
32.使用KD理解内核
33.双机用户态调试
第十部分:高级调试技巧
34.调试事件、调试会话中的服务和总结[new!]
更新完毕!