求知 文章 文库 Lib 视频 Code iProcess 课程 认证 咨询 工具 火云堂 讲座吧   成长之路  
会员   
 
 
 
全部课程 | 技术学院 | 管理学院 | 嵌入式学院 | 在线学院  
成功案例   品质保证  电话 English
追随技术信仰

随时听讲座
每天看新闻
 
   
成功案例
某核电企 软件设计重构与代码
某集成电 多核体系的软件仿真
某电力能 设计模式原理及应用
南方航空 软件设计方法与实践
某跨国公 软件设计原理与实
爱立信( 软件设计
Moto 设计模式

 

Windows应用程序高级调试    
张老师
著有《软件调试》,Intel研发中心资深程序员、业内资深工程师、内核调试专家
报名课程   4999 次浏览    1363 次 
地点时间: 北京、上海、深圳根据报名开班
课程费用: 5000元/人 详见 公开课学习手册
企业内训: 可以根据企业需求,定制内训,详见 内训学习手册
 
培训目标:
  • Windows系统基础
  • WinDBG精要
  • 应用程序崩溃和转储
  • 栈调试
  • 多线程调试
  • 堆调试
  • 可调试性
  • 使用WPT调优
  • 高级调试技巧
培训对象:从事Windows应用软件开发和测试的软件工程师、项目带头人和技术经理
学员基础:具有一定软件开发、设计和测试经验
授课方式: 小班授课(12人之内)+ 案例讲解 + 小组讨论,60%案例讲解,40%实践演练
培训内容: 2天
Windows系统基础
  • 概述Windows操作系统的架构
    • 系统组件
    • HAL
    • 内核
    • 执行体
    • Native进程
    • 子系统
  • 重要的系统机制
    • 内核服务调用
    • 中断管理
    • 内核对象
  • 主要数据结构
    • 进程
    • 线程
    • 内核对象
    • 设备对象
  • 虚拟内存、进程、线程、操作系统的用户和内核空间等重要概念
WinDBG精要
  • 系统介绍 WinDBG的发展历史、架构、组件构造
  • 关键使用方法,包括命令类型、表达式
  • 常用的调试命令
  • 涵盖符号设置
  • 用户态调试和内核态调试
  • 远程调试
  • 实验1: WinDBG基础 ( 15 min )
应用程序崩溃和转储
  • Windows分发异常的详细过程
  • 应用程序崩溃的内幕和调试方法(JIT调试)
  • 转储的基本知识
  • 如何使用ADPLUS自动产生用户态转储
  • 分析用户态转储的常用命令和技巧
  • 实验2: 异常处理和JIT调试 ( 15 min )
栈调试
  • 详细介绍栈的自动增长机制
  • 栈帧的组织方法
  • 并通过实例演示栈溢出攻击的原理,
  • 通过Windows 7系统的真实案例介绍基于Cookie的溢出检测机制
多线程调试
  • 如何使用WinDBG来调试多线程程序和同时调试多个进程
    • 控制线程执行状态
    • 观察同步对象
    • 分析死锁等
  • 多核和多处理器系统中的各种同步机制
  • 比较不同同步机制的优劣
堆调试
  • 调试内存有关的典型问题的方法和技巧
    • 使用CRT堆和Win32堆的调试支持
    • 分析内存泄漏
    • 访问违例
    • 栈溢出
  • 在探讨实践经验的同时会穿插重要的理论知识
    • Win32对和CRT堆的结构
    • 内存管理常识和用户态调试器的基本工作原理
  • 实验3: 使用UMDH来寻找内存泄漏 ( 15 min )
可调试性
  • Windows系统的诊断设施(WDI)的工作原理
  • 探讨如何在软件工程实践中提高软件的可调试性
    • 可观察性
    • 可辨别性
    • 可追溯性
    • 自动报告错误
使用WPT调优
  • 介绍ETW (Event Tracing for Windows) 机制的原理
  • ETW在Windows系统中的重要地位
  • 演示如何使用Windows Performance Toolkit (WPT) 来发现应用程序的热点和瓶颈,涵盖常用的有关工具,包括xperf, xbootmgr, xperfview等
高级调试技巧
  • 定制调试事件的处理方式以便得到更早的调试时机
  • 通过特殊的调试会话调试自动启动的进程和关键的系统进程
  • 程序指针飞跃
  • 在调试器中调用函数和修改代码
  • 设置复杂的条件断点
4999 次浏览   1363 次
其他人还看了课程
互联网产品测试(web测试)最佳实践  4548 次浏览
软件测试全周期的方法与实践  4787 次浏览
基于Selenium的web自动化测试  5022 次浏览
WEB应用的软件测试  5520 次浏览
敏捷测试-简单而可行  7500 次浏览
Java单元测试方法与技术  7822 次浏览
定制内训
 



最新活动计划
C++高级编程 12-25 [线上]
白盒测试技术与工具实践 12-24[线上]
LLM大模型应用与项目构建 12-26[特惠]
需求分析最佳实践与沙盘演练 1-6[线上]
SysML建模专家 1-16[北京]
UAF架构体系与实践 1-22[北京]