4006-998-758
3000+课程任你选择
Net应用高级调试与调优
研发学院 软件架构师 系统调试专家 开课时间:2021-07-30
张银奎

1996年毕业于上海交通大学信息与控制工程系,在软件产业工作20年,拥有13年Intel工作经历,任职于INTEL公司的上海研发中心,先后在PASD、DEG、CPG、PCCG、VPG等部门工作。在英特尔先后从事软件开发、系统测试、架构设计等工作,呈担任英特尔架构事业部视觉与并行计算事业群担任首席软件架构师职务。

对IA-32架构、操作系统内核、驱动程序、设计模式、软件调优、C和C++等有深厚的工作经验,对于精炼、易于维护的代码有不懈追求。10多年GPU、CPG等深度优化技术积累和代码重构经验,每天的主要工作除了设计和编写代码外,就是调试和重构C语言代码。


查看老师详情
课程内容

课程介绍


本培训专门针对已经有较多.Net应用程序开发经验的工程师而设计,深入探讨.Net应用程序的复杂问题,包括托管堆、多线程、异常处理、异步通信和性能优化等。

培训中结合大量的实例介绍使用WinDBG、Visual Studio、WPT等调试调优工具解决各种复杂问题的方法和技巧。


课程特色


整个培训理论讲解和实验演示紧密结合。


课程大纲

     主题

                                    内容

第一部分:Windows系统核心机制 (1.5小时)

要点:
  NT架构,进程空间,特殊的FS/GS段,缺页异常,在任务管理器中观察重要系统信息:CPU总时间、提交内存、工作集等,系统调用,NT的关键进程(CSRSS、LSASS、WinLogon),NT的重要数据结构:EPROCESS、PEB、TEB,Windows子系统,在WinDBG中观察核心数据结构。


第二部分:在调试器中理解托管世界   (1.5小时)

要点:
  MSCOREE,加载运行时,GC线程,调试辅助线程,Domain,CLR.dll/MSCORWKS.dll,MSJIT,类加载,及时编译,执行Main方法,SOS简介,加载方法,主要命令,类的方法表,方法描述,托管堆,深入理解Property和Field,使用SoS命令观察和分析托管堆,调用本地代码(显式和隐式PInvoke,动态PInvoke),在调试器中理解marshaling,PInvoke的常见问题,实例演示。


第三部分:WinDBG精要(1.5小时)

要点:
  WinDBG的命令类型,基本使用方法,表达式,重要的调试命令(访问内存、寄存器、断点设置和管理、硬件断点,条件断点),调试符号,定制调试事件的方法,远程调试,高级使用技巧。


第四部分:异常处理   (1.5小时)

要点:
  异常概要,异常的来源,异常的分发过程,SEH和VEH,异常处理,两轮异常分发,未处理异常,WER,转储文件,托管异常的发起和分发,Throw,sos的有关命令,Windows SDK安装程序挂死案例解析。


第五部分:堆和堆的调试支持(1.5小时)

要点:
  多层存储架构,内存管理器,内核态池,用户态堆,堆布局,内存有关的典型问题,使用CRT堆和Win32堆的调试支持分析内存泄漏,UMDH,通过页堆发现堆块溢出,堆的多实例,案例分析。


第六部分:深入理解栈 (1.5 小时)

要点:
  栈基础,自动增长机制,栈帧的组织方法,栈溢出,/GS,观察栈上的信息,k命令,切换栈帧,托管程序的栈,案例演示。


第七部分:多线程(1.5小时)

要点:
  并发与并行,多核与超线程, Windows线程,TEB,线程池,同步,关键区,死锁,!locks, !cs -l,Interlocked操作原理,案例分析。


第八部分:Visual Studio的高级功能 (1.5小时)

要点:
  Immediate窗口,数据断点、监视点、命令窗口,设置符号,跟踪WPF运行时的源代码,开启WPF的追踪机制,VS的调优功能。


第九部分:优化基础(1.5小时)

要点:
  性能目标,基本优化方法,采样,instrumentation,空间优化,时间优化,测量方法,测量指标(metrics),测量的噪声,常用的时间测量方法,最佳实践,衡量性能提升的方法,案例解说。


第十部分:ETW和WPT (1.5小时)

要点:
  ETW原理,WPT工具集概要,关键模块,使用WPR收集事件,典型用法:资源分析和场景模板,启动WPA,WPA的多种视图,在WPA中加载符号,使用WPT分析典型的优化问题。


第十一部分:VTune基础(1.5小时)

要点:
  背景,版本历史,工作原理(CPU的性能监视机制),主要功能,三类目标:启动应用、附加到应用和全系统勘察,选择分析类型:算法分析(Hotspot分析、并发分析)、平台分析、微架构分析,指标解释,符号文件和符号文件设置,实际案例演示。


第十二部分:图形优化(1.5小时)

要点:

Windows图形子系统概要,WDDM、DirectX,HLSL,DX运行时,DX API,DX在WPF和Metro应用中的使用,图形调优工具:Intel GPA Analyzer、WPF Performance Suite和GPUView,使用Perforator分析WPF应用的渲染过程、帧率和显存使用,使用Visual Profiler观察分解后的WPF UI元素开销,案例分析。



返回上一级