曙海教学优势
本课程以项目实现为导向,面向企事业项目实际需要,秉承二十一年积累的教学品质,老师将会与您分享设计的全流程以及工具的综合使用经验、技巧。线上/线下/上门皆可,课程可定制,热线:4008699035。
曙海培训的课程培养了大批受企业欢迎的工程师。曙海培训的课程在业内有着响亮的知名度。大批企业和曙海
建立了良好的合作关系,合作企业30万+。
软件调试原理与实践培训
课程大纲:
1、CPU的调试支持
调试设施的简要历史
支撑软件调试核心功能硬件基础
2、操作系统的调试支持
为什么要支持调试
比较linux和windows这两个操作系统支持用户态调试和内核态调试的基本设施
案例:通过内核调试理解操作系统内核
3、编译器的调试支持
本部分将以Visual Studio 和GCC这两大著名编译器为例,比较介绍
4、调试器
比较介绍WinDBG和GDB调试器
5、应用程序崩溃和用户态转储
介绍应用程序崩溃的完整过程和调试方法
转储的基本知识
如何使用ADPLUS自动产生用户态转储
用户态转储的常用命令和技巧
案例:JIT调试
6、栈调试
栈有关的基本概念
栈的自动增长机制
栈上的缓冲区溢出
检测缓冲区溢出的方法
7、堆调试
内存管理的多层次架构
比较Windows和Linux系统的堆管理器
导致堆问题的典型原因以及调试方法
8、内核调试
内核调试模型
深入解析Windows操作系统的内核调试引擎(KD)
比较介绍linux下的内核调试设施
9、系统崩溃和转储
系统崩溃概览
Windows蓝屏崩溃(BSOD)的过程,Linux的Panic过程
系统转储,分机系统转储的方法
案例:分析系统转储
10、验证器
验证器(verifier)的目标
Windows操作系统的驱动验证器
11、多线程调试
控制线程的常用命令
关键区
Volatile关键字
死锁案例解析
CPU的同步支持
互锁操作
12、可调试性
被调试程序的可调试性对于提高调试效率有着重要意义,如何在软件工程实践中提高软件的可调试性。