IASN•爱朔——Windows 平台调试实战高级培训
时间:2011-06-08 来源:tonyiasn
IASN·爱朔——Windows 平台调试实战高级培训 |
调试是软件工程中的最重要环节之一,大多数程序员的约一半时间都花在调试上,但调试技
术的交流与推广却没有得到应有的普遍重视。尤其是比较复杂的调试技术,比如内核调试,
远程调试,DUMP 文件分析等,即使很多经验丰富的软件工程师对这些领域也都是比较陌
生的。但了解和掌握这些调试技术,以及重要要的调试工具和技巧对提高软件工程师的综合
实力却有着事半功倍的作用,是每个软件高手的一门必修课。
本培训以Windows 内核调试、Windows 应用程序调试和.Net 程序调试这三大调试任务为目
标,结合实际问题详细探讨使用WinDBG 等调试工具的方法和技巧,阐释有关的原理和思
想。整个培训理论讲解和演示紧密结合,具体由以下几个部分组成。
第一部分:Windows 系统概览
概述Windows 操作系统的架构、系统组件(HAL、内核、执行体、Native 进程和子系统)、
重要的系统机制(内核服务调用、中断管理、内核对象等)以及主要数据结构(进程、线程、
内核对象、设备对象等),并介绍进程、线程、操作系统的用户和内核空间等重要概念。
第二部分:WinDBG 精要
系统介绍 WinDBG 的命令类型、基本使用方法、定制调试事件的方法和重要的调试命令,
包括用户态调试和内核态调试的常用命令。
第三部分:高级用户态调试
介绍调试内存泄漏和多线程程序的常用方法和技巧,包括使用CRT 堆和Win32 堆的调试支
持、定制调试事件的处理方式以便得到更早的调试时机、通过特殊的调试会话调试自动启动
的进程和关键的系统进程等。在探讨实践经验的同时会穿插重要的理论知识,包括Win32
对和CRT 堆的结构、内存管理常识和用户态调试器的基本工作原理。
第四部分:应用程序崩溃和用户态转储
介绍应用程序崩溃的完整过程和调试方法,转储的基本知识,如何使用ADPLUS 自动产生
用户态转储,以及分析用户态转储的常用命令和技巧。
第五部分:高级内核态调试
介绍内核调试的基本原理,常用的设置方法,然后介绍内核调试中的常用技术,包括观察
IDT 表、观察CPU 状态、访问PCI 设备的配置空间、观察设备节点/设备树等。
第六部分:蓝屏崩溃和内核态转储
首先介绍蓝屏机制的设计背景、发起原因和发生蓝屏时系统的详细执行过程,然后结合实际
案例介绍分析系统转储文件的常用方法和技巧。
第七部分:高级.Net 调试
介绍如何通过WinDBG + SOS 扩展库来调试托管程序,包括加载SOS 的方法、SOS 的常用
命令和托管异常的处理方法。
第八部分:高级调试技巧
介绍实用的高级调试技巧,包括程序指针飞跃、在调试器中调用函数和修改代码、设置复杂
的条件断点和追踪点等。
文章来源于IASN·爱朔http://www.iasn.com.cn/xwzx/html/94.html