WinDbg的的使用与高级调试技巧.pptxVIP

  • 11
  • 0
  • 约3.5千字
  • 约 27页
  • 2017-10-18 发布于浙江
  • 举报
WinDbg的的使用与高级调试技巧

《VC++ 实战调试技巧》前言:上节内容回顾与本节内容介绍主讲人:阳毅超 UIPower CTO上节内容回顾调试工程配置VisualStudio下基本调试方法利用pdb和dmp文件定位问题实际应用场景分析,VS调试技巧的综合演练本节内容介绍WinDbg的基本使用方法利用WinDbg生成dump与分析dump文件利用WinDbg进行远程调试WinDbg的高级调试技巧《VC++ 实战调试技巧》第二讲:WinDbg的使用与高级调试技巧主讲人:阳毅超 UIPower CTO第一节:WinDbg的基本使用方法什么是WinDbg WinDbg是windows平台下对内核,应用程序,服务程序进行调试的工具。相对VS而言更加小巧,功能却比VS丰富,支持内核模式和用户模式的调试。WinDbg的下载WinDbg包含在Windows调试开发包当中/en-us/windows/hardware/gg463009/en-us/windows/hardware/gg463009Windows下的6种调试器Visual Studio with integrated Windows debuggers Microsoft Windows Debugger (WinDbg) Microsoft Kernel Debugger (KD) NTKD Microsoft Console Debugger (CDB) Microsoft NT Symbolic Debugger (NTSD) 第一节:WinDbg的基本使用方法Windows下的6种调试器的区别第一节:WinDbg的基本使用方法WinDbg的调试模式内核模式(Kernel-Mode)与用户模式(User-Mode)内核模式(Kernel-Mode)为了不让程序任意存取资源,大部分的CPU架构都支持Kernel mode与User mode两种执行模式。当CPU运行于Kernel mode时,任务可以执行特权级指令,对任何I/O设备有全部的访问权,还能够访问任何虚拟地址和控制虚拟内存硬件;这种模式对应x86的ring0层,操作系统的核心部分,包括设备驱动程序都运行在该模式。用户模式(User-Mode)当CPU运行于User Mode时,硬件防止特权指令的执行,并对内存和I/O空间的访问操作进行检查,如果运行的代码不能通过操作系统的某种门机制,就不能进入内核模式;这种模式对应于x86的ring3层,操作系统的用户接口部分以及所有的用户应用程序都运行在该级别。注:本次WinDbg使用讲解仅涉及用户模式的应用程序调试第一节:WinDbg的基本使用方法PDB文件链接器自动生成文件由两个部分构成,私有符号数据(private symbol data)和公共符号表(public symbol table)私有符号数据(Private Symbol Data)函数全局变量局部变量用户定义的结构体,类,数据类型源文件的名称和源文件中每个二进制指令的行号公共符号表(Public Symbol Table)静态函数全局变量(extern)第一节:WinDbg的基本使用方法建立一个简单的Windows应用程序完成编译,自动完成对pdb和exe文件的生成启动WinDbg第一节:WinDbg的基本使用方法设置程序的符号文件目录快捷键,Ctrl+S设置程序的源代码目录快捷键,Ctrl+P设置程序的二进制文件目录快捷键,Ctrl+I第一节:WinDbg的基本使用方法选择可执行启动文件通过菜单选择我们生成好的exe文件第一节:WinDbg的基本使用方法命令浏览窗口打开exe程序后自动打开命令浏览窗口,浏览加载模块,符号文件,寄存器等等数据第一节:WinDbg的基本使用方法启动调试,打开源代码文件按下F5键或者点击启动调试按钮,进入调试状态利用菜单打开对应的源代码,自动打开源代码窗口第一节:WinDbg的基本使用方法设置断点通过F9键我们可以在源代码窗口中设置位置断点,设置好的断点红色进行了标示通过F5键我们继续运行,程序会自动中断到断点所在代码行在浏览器窗口中我们可以看到当前执行代码的寄存器数据第一节:WinDbg的基本使用方法单步运行通过F10进行逐过程运行通过F11进行逐语句运行通过Shift+F11跳出当前运行的函数通过Shift+F5终止调试常用的命令行g 运行!gle 当前错误代码第一节:WinDbg的基本使用方法常用的命令行dt 显示当前结构体成员k 显示当前堆栈lm 列出当前加载模块lsa 根据地址列出代码第二节:生成dump与分析dumpDump文件的种类用户模式dump文件核心模式dump文件用户模式dump文件的种类完整用户模式dump(Full User-Mode Dumps)Mini dump(Minid

文档评论(0)

1亿VIP精品文档

相关文档