Print

Windows内核与高级调试

主办单位:中培网   中培管理咨询

时间地点:2013-09-28至2013-09-29 在 北京

学员对象:对此课程感兴趣的学员

费  用: 5800元

【培训对象】

对此课程感兴趣的学员

【课程收益】

【课程大纲】

时间地点:2013-09-28-29北京

课程费用:5800 元/人

课程对象:对此课程感兴趣的学员

课程简介:

调试是软件工程中的最重要环节之一,大多数程序员的约一半时间都花在调试上,但调试技术的交流与推广却没有得到应有的普遍重视。尤其是比较复杂的调试技术,比如内核调试,远程调试,DUMP文件分析等,即使很多经验丰富的软件工程师对这些领域也都是比较陌生的。但了解和掌握这些调试技术,以及重要要的调试工具和技巧对提高软件工程师的综合实力却有着事半功倍的作用,是每个软件高手的一门必修课。

本培训以Windows内核调试、Windows应用程序调试和.Net程序调试这三大调试任务为目标,深入探讨Windows调试子系统、异常和错误处理机制、.Net调试模型等基础理论,并结合实际问题介绍使用WinDBG、Visual Studio等调试工具解决各种复杂调试问题的方法和技巧。整个培训理论讲解和实验演示紧密结合,具体由以下几个部分组成:

课程大纲:

第一部分:Windows系统概览

概述Windows操作系统的架构、系统组件(HAL、内核、执行体、Native进程和子系统)、重要的系统机制(内核服务调用、中断管理、内核对象等)以及主要数据结构(进程、线程、内核对象、设备对象等),并介绍进程、线程、操作系统的用户和内核空间等重要概念。

试验一:使用WinDBG的本地内核调试功能观察Windows的系统部件、数据结构和函数

第二部分:CPU的调试支持

本部分首先介绍了关于CPU的几个重要概念,包括CPU的执行模式、寻址方式、中断和异常等。然后介绍软件断点、硬件断点、陷阱标志这支撑软件调试核心功能的三大硬件基础。

第三部分:Windows的调试支持

以为什么要支持调试这一简单而又意味深长的问题开篇,本部分将系统介绍Windows的用户态调试模型,异常分发和管理,结构化异常处理(SEH),向量化异常处理(VEH),错误提示机制,错误记录机制,错误报告机制等内容。

试验二:观察默认的异常处理器

第四部分:编译器的调试支持

除了深入介绍调试符号的用途、产生过程、存储格式和使用方法外,本部分还将简要介绍编译期检查、运行期检查、CRT的调试支持(调试堆)等内容。

第五部分:可调试性

被调试程序的可调试性对于提高调试效率有着重要意义,这部分将探讨如何在软件工程实践中提高软件的可调试性,包括可观察性、可辨别性、可追溯性、自动报告错误等。

第六部分:WinDBG精要

WinDBG依赖微软的强大实力和与Windows的无缝结合,已经越来越显示出它的诸多优势。本篇首先从 《WinDBG概览》开始,逐步深入到《如何建立内核调试环境》(包括单机和多机,本地/远程符号等内容)。然后系统介绍 WinDBG的命令类型和最重要的一些调试命令。在介绍这些命令的同时,我们会介绍必要的汇编语言和堆栈协议等基础内容。最后以如下试验结束本篇。

第七部分:高级用户态调试

本部分将以实际问题为例,介绍应用程序调试的几个高级技术,包括调试内存泄露问题,远程调试,GDI调试,并介绍用户态调试中常用的工具和技巧。

第八部分:高级内核态调试

本部分首先介绍内核调试的基本原理,然后介绍内核调试中的常用技术,包括观察IDT表、处理器控制区(PCR)、中断优先级(IRQL)、设备节点/设备树等,最后将介绍两类常见的内核调试问题——蓝屏崩溃(BSOD)和调试僵死的系统(系统死锁、中断风暴等)。BSOD部分将解释蓝屏产生的原因和过程,引发蓝屏错误的典型根源,并介绍使用WinDBG来调试蓝屏问题的高级技巧。

试验三:建立内核调试环境

试验四:调试一个简单的驱动程序

试验五:使用WinDBG分析一个真实的DUMP文件

第九部分:高级.Net调试

本部分首先介绍.Net(CLR)调试模型、CLR的异常处理机制、CLR调试器的工作原理以及混合调试(Interop Debugging)。而后介绍SOS扩展库的使用方法,探讨如何通过WinDBG + SOS来调试托管程序中的复杂问题和探索CLR的内部机制。

试验六:使用SOS调试.Net程序

第十部分:高级调试技巧

本部分将通过生动的演示来介绍一些高级调试技巧,包括程序指针飞跃、从调试器中调用函数、设置复杂的条件断点、以及如何在没有源代码的情况下修改变量和设置追踪点等。在演示这些技巧的同时,将复习前面各部分中的关键内容,将其融汇贯通在一起。

讲师介绍:张银奎 —— 业内资深工程师、内核调试专家

《软件调试》一书的作者,《程序员》杂志调试之剑栏目作者,高端调试网站的创始人。毕业于上海交通大学信息与控制工程系,长期从事软件开发和研究工作,对 IA-32 架构、操作系统内核、驱动程序、尤其是软件调试有较深入研究。从2005年开始公开讲授“Windows内核及高级调试”课程,曾在微软的Webcast和各种技术会议上做过《Windows Vista内核演进》、《调试之剑》(2008年中国软件技术大会)、《感受和思考调试器的威力》(CSDN SD2.0大会)、《Windows启动过程》、《如何诊断和调试蓝屏错误》、《Windows体系结构——从操作系统的角度》(以上三个讲座都是微软“深入研究Windows内部原理系列”的一部分)等。翻译(合译)作品有《观止——微软创建NT和未来的夺命狂奔》、《数据挖掘原理》、《机器学习》、《人工智能:复杂问题求解的结构和策略》等。

【讲师介绍】

        ▓▓▓▓▓▓▓▓▓ (此表复制有效)▓▓▓▓▓▓▓▓

                                    传真至:020-62355807

 

我单位共___ 人报名参加 2013-09-28至2013-09-29北京 举办的 Windows内核与高级调试

 

单位名称:______________________________________

 

培训联系人:_________ 联系电话:_________ 联系传真:________

 

移动电话:____________ 电子邮箱:__________________

 

参加人数:____ 费用总计:______

 

人:________ 所任职务:__________ 移动电话:_________

 

人:________ 所任职务:__________ 移动电话:_________

 

人:________ 所任职务:__________ 移动电话:_________

══════════════════════════════════════════

广州电话:(0203997189362355796              传真号码:(02062355807

人:赵小姐、张先生                   报名邮箱: 317709971@QQ.COM

参会方式:请您把培训回执表填写好回传,课前一星期您将会收到传真函,包括培训注意事项及详细安排

文档生成:http://www.chinacpx.com/word/<%=wsid%>.doc