WinDbg的使用与高级调试技巧

合集下载

windbg 调试驱动教程

windbg 调试驱动教程

使用WinDbg和虚拟机调试Windows驱动程序教程(转)驱动调试攻略(WinDbg)驱动调试是一个系统级调试方式,所以调试工具用WinDbg是最佳选择。

驱动调试一般情况下,需要两台电脑进行。

一台作为主机进行驱动调试,另一台作为目标机进行驱动安装。

当然如果没有多余的电脑,我们可以安装VMware模拟系统调试(虚拟机)。

只是对电脑的配置要求比较高。

本文介绍使用WinDbg及VMware进行调试的具体设置及方法。

这些资料在网络很难找到,笔者也是吸取了他人很多宝贵意见才完成的,供大家学习讨论。

其实用SoftIce可以单机调试驱动,但是有个问题就是在SoftIce启动前驱动可能已经启动了。

VMware Support 中说,自4.0.18.0 版本之后的WinDbg 都支持了通过pipe 来进行调试,不过微软对此并没有任何说明。

所以,在VMware中虚拟被调试的系统,然后通过VMware 虚拟一个com端口。

使用这个虚拟的端口,就可以用WinDbg 进行调试了。

具体步骤如下:1. 安装和设置WinDbg,VMware首先,请到微软官方网站/whdc/devtools/debugging/default.mspx,下载最新版本的WinDbg工具,建议使用6.0以上版本的WinDbg做为调试工具。

VMware也可以在网站上找到,当然使用高版本比较好。

安装过程比较简单,就不在此多做介绍。

唯一要注意的是,安装完虚拟机后,请在VMware主菜单“VM”中选择“Install VM Tools…”,完成系统驱动文件的安装。

安装完这两个软件后,请在VMware中安装跟你的电脑版本相同的操作系统。

例如:你的电脑安装的是WindowsXP Professional,那么最好在Vmware中安装相同版本。

至少是相同的系统,Windows XPßà Windows XP、Windows 2000ßà Windows 2000。

windbg使用方法

windbg使用方法

windbg使用方法Windbg是一款由Microsoft开发的强大的调试工具,它可以帮助开发人员诊断和解决Windows平台上的各种软件问题。

本文将介绍Windbg的基本使用方法,希望能够帮助读者更好地利用这一工具进行调试和分析。

首先,我们需要下载并安装Windbg工具。

可以在Microsoft官方网站上找到Windbg的安装包,并按照提示进行安装。

安装完成后,我们可以在开始菜单或者桌面上找到Windbg的快捷方式,双击打开即可进入工具界面。

在使用Windbg进行调试之前,我们需要先了解一些基本概念和操作。

首先是符号文件的设置,符号文件包含了程序中各个函数和变量的调试信息,可以帮助我们更好地进行调试。

在Windbg中,可以通过设置符号路径和加载符号文件来进行符号文件的管理。

接着是源代码的设置,如果我们有程序的源代码,可以通过设置源代码路径来进行源代码级别的调试。

最后是调试目标的设置,可以通过Attach或者Open Crash Dump来加载需要调试的程序。

接下来,我们来看一下Windbg的一些常用命令和功能。

在Windbg的命令行窗口中,可以输入各种命令来进行调试操作,比如设置断点、查看变量的值、跟踪函数的调用等。

此外,Windbg还提供了丰富的图形化界面,可以通过菜单栏和工具栏来进行各种调试操作,比如查看内存、查看寄存器、查看线程信息等。

除了基本的调试功能,Windbg还提供了一些高级的调试工具和扩展,比如分析内存泄漏、分析崩溃转储、分析性能问题等。

通过这些工具和扩展,我们可以更深入地了解程序的运行情况,找出潜在的问题并加以解决。

在使用Windbg进行调试的过程中,我们可能会遇到各种各样的问题和挑战,比如调试信息不够详细、调试速度太慢、调试过程中出现崩溃等。

针对这些问题,我们可以通过调整符号文件的设置、优化调试环境、使用合适的调试工具等方式来进行解决。

总的来说,Windbg是一款功能强大的调试工具,可以帮助我们更好地进行程序调试和分析。

windb 调试原理

windb 调试原理

windb 调试原理Windbg是一种强大的Windows调试工具,它可以用于分析和解决各种系统和应用程序的问题。

它提供了很多功能和命令,可以帮助开发人员和调试人员定位和修复程序中的错误。

本文将介绍Windbg调试的原理及其相关概念。

一、Windbg简介Windbg是由微软公司开发的一款免费的调试工具。

它可以在Windows操作系统上运行,并支持多种架构和平台。

Windbg可以连接到正在运行的进程或者通过调试器驱动程序连接到目标计算机上的内核模式进程。

它可以对进程进行实时监控,捕捉异常,查看内存和寄存器状态,以及跟踪函数调用等。

二、Windbg调试的原理Windbg调试的原理是通过在目标进程中注入调试器驱动程序来实现的。

当Windbg连接到目标进程时,它会将自己的调试器驱动程序加载到目标进程的地址空间中,并通过调试器驱动程序与目标进程进行通信。

调试器驱动程序可以截获目标进程的系统调用和异常,从而实现对目标进程的监控和控制。

三、Windbg调试的基本概念1. 符号表:符号表是一个存储了程序中函数和变量信息的数据库。

在调试过程中,Windbg可以使用符号表来解析函数和变量的名称和地址,从而方便开发人员进行代码分析和调试。

2. 断点:断点是调试过程中的一个重要概念,它可以让开发人员在程序执行到指定位置时中断程序的执行。

在Windbg中,可以通过命令设置断点,并在断点触发时查看程序的状态和调用栈信息。

3. 寄存器:寄存器是CPU中的一组特殊的存储单元,用于存储程序执行过程中的临时数据。

在Windbg中,可以查看和修改寄存器的值,以及使用寄存器的值来分析程序的执行流程。

4. 调用栈:调用栈是程序执行过程中的一个重要数据结构,用于保存函数调用的相关信息。

在Windbg中,可以查看和分析调用栈的信息,从而了解函数的调用关系和参数传递情况。

5. 内存窗口:内存窗口是Windbg中的一个功能,可以用来查看和修改目标进程的内存数据。

windbg使用方法

windbg使用方法

windbg使用方法Windbg是一款由微软公司开发的调试工具,它可以帮助开发人员分析和诊断Windows操作系统和应用程序的问题。

本文将介绍Windbg的基本使用方法,希望能够帮助读者更好地利用这个工具进行调试和分析。

首先,我们需要了解如何安装Windbg。

通常情况下,Windbg是作为Windows驱动程序开发工具包(Windows Driver Kit)的一部分发布的,也可以在微软的官方网站上下载到独立安装包。

安装完成后,我们可以在开始菜单或者安装目录中找到Windbg的可执行文件。

接下来,我们需要了解如何打开并配置Windbg。

在打开Windbg 后,我们可以通过“文件”菜单中的“符号文件路径”选项来设置符号文件的路径,以便Windbg能够正确地加载符号文件。

符号文件对于调试非常重要,它包含了源代码和可执行文件之间的映射关系,能够帮助我们更好地理解程序的运行状态。

在Windbg中,我们可以通过“文件”菜单中的“打开转储文件”选项来打开需要分析的转储文件(dump file)。

转储文件是程序崩溃时生成的一种内存快照,包含了程序崩溃时的内存状态和调用栈信息。

通过分析转储文件,我们可以找出程序崩溃的原因,并进行相应的调试和修复。

除了分析转储文件外,我们还可以通过“调试”菜单中的“附加到进程”选项来附加到正在运行的进程,以实时地监视和分析程序的运行状态。

这对于调试一些无法通过转储文件分析的问题非常有帮助,比如内存泄漏、死锁等问题。

在Windbg中,我们可以使用各种命令来进行调试和分析。

比如,通过“!analyze”命令可以自动分析转储文件,并给出可能的崩溃原因;通过“kb”命令可以查看当前线程的调用栈信息;通过“!heap”命令可以查看进程的堆内存分配情况等等。

熟练掌握这些命令对于高效地进行调试和分析非常重要。

除了命令之外,Windbg还提供了丰富的调试工具,比如内存窗口、寄存器窗口、线程窗口等,这些工具可以帮助我们更直观地了解程序的运行状态。

Windbg调试技巧

Windbg调试技巧

目录1Windbg简介 (1)2Windbg设置条件断点 (1)3事件处理与异常 (3)4调试dll和ocx控件 (6)5进程调试与程序死锁 (8)6结语 (11)关键词:软件调试,调试技巧,windbg摘要:Windbg是微软提供的一款免费的软件调试工具,具有强大的功能和扩展性,满足各种各样的调试需求。

本文对windbg进行了简单的介绍,对几个我比较关心的主题进行了详细的讲解,并给出了一些调试技巧,配合一些示例。

由于软件调试是一个广阔的领域,windg的命令使用与调试技巧也很多,本文也不能一一涉及,文章最后给出了一些参考资源,可以进一步深入研究。

1Windbg简介Windbg是微软开发的一款免费软件调试工具,WinDBG 是个非常强大的调试器,它设计了极其丰富的功能来支持各种调试任务,包括用户态调试、内核态调试、调试转储文件、远程调试等等。

WinDBG 具有非常大的灵活性和可扩展性,用来满足各种各样的调试需求,比如用户可以自由定义调试事件的处理方式,编写调试扩展模块来定制和补充WinDBG 的调试功能。

此外windbg通过SOS.dll支持可以调试.net应用程序,使得windbg成为windows下软件调试的首选。

WinDbg主要适用于以下这些场合:1.商业软件的Debug(缺乏源码)和客户支持(需要远程调试)2.内核驱动的调试,以及对驱动进行逆向工程时进行动态调试3.研究Windows本身的内核或者软件4.疑难BUG的调试,如死锁、COM调用、资源泄露、堆栈或者堆溢出5.以性能优化为目的的调试6.对调试目标基本不造成影响的非侵入式调试(windbg特有)Windbg具备极为强大的功能,可以调试可执行文件(exe),动态链接库(dll)、Activex控件,程序dump 文件和在运行进程,涵盖了软件调试的方方面面,windbg的操作命令和使用技巧也很多,这里仅列举我比较关心和常用的几个主题。

windbg用法

windbg用法

windbg用法Windbg是微软官方的调试工具,主要用于Windows操作系统和Microsoft Windows应用程序内核级别的调试。

以下是一些Windbg的基本用法:1. 启动Windbg:打开Windbg>文件>打开进程>选择需要调试的进程>打开。

2. 设置符号路径:Windbg默认不会自动找到包含符号信息的pdb文件,需要手动设置符号路径,否则可能出现无法识别符号的问题。

3. 设置断点:Windbg有多种设置断点的方法,包括使用命令行设置、使用界面设置等。

例如,可以使用“bu(break on access)”或“bp(break on process)”设置断点。

4. 执行程序:Windbg在程序执行过程中可以进行单步调试,可以使用“g(go)”命令继续执行代码,也可以使用“p(step into)”、“t(step over)”、“u(step out)”等命令逐行执行代码。

5. 查看调试信息:在Windbg中可以查看程序的调试信息,包括堆栈、寄存器、变量值、汇编代码等。

可以使用“!analyze”命令查看程序崩溃信息,还可以使用“!heap”、“!locks”等命令查看程序运行时的内存信息和锁定信息。

6. 输出调试信息:Windbg可以输出调试信息到文本文件中,可以使用“logopen”、“logappend”、“logclose”等命令将调试信息输出到指定的文件中。

7. 导出内存快照:在Windbg中可以使用“.dump”命令导出内存快照,也可以使用“!writecrashdump”命令将调试信息和内存快照导出到指定的文件中。

8. 反汇编代码:Windbg可以反汇编代码,可以使用“u”、“uf”、“uc”、“ud”等命令查看汇编代码。

以上是Windbg最基本的用法,更多高级用法请查看Windbg相关文档或其他相关资料。

windebug使用方法

windebug使用方法WinDbg 使用方法WinDbg 是一款强大的 Windows 调试工具,被广泛应用于开发人员和调试专家之间。

它提供了一系列功能,帮助用户分析和调试 Windows 操作系统、驱动程序和应用程序中的问题。

以下是 WinDbg 的使用方法。

1. 下载和安装 WinDbg:您可以从微软官方网站下载最新版本的 WinDbg。

安装过程很简单,按照向导提示逐步进行即可。

2. 配置符号路径:符号文件包含了源代码的调试信息,是进行高级调试的关键。

在 WinDbg 中,您需要配置符号路径以便正确加载符号文件。

您可以通过 "File" 菜单下的 "Symbol File Path" 选项来配置符号路径。

3. 载入调试目标:在 WinDbg 中,可以通过多种方式来载入调试目标。

您可以通过 "File" 菜单下的 "Open Crash Dump" 选项来打开崩溃转储文件,或者通过"File" 菜单下的 "Attach to Process" 选项来附加到正在运行的进程。

4. 设置断点:断点是调试过程中非常有用的工具,可以帮助您在应用程序中指定的位置停止执行。

在 WinDbg 中,可以通过输入 "bp <地址>" 命令来设置断点。

例如,"bp 0x00400000" 命令将在指定地址处设置一个断点。

5. 运行调试:一旦设置了断点并准备好调试,您可以通过 "Debug" 菜单下的"Go" 命令来开始运行调试过程。

当应用程序执行到断点处时,调试过程会自动停止。

6. 分析调试信息:当调试过程中断时,您可以使用 WinDbg 提供的各种命令和功能来分析调试信息。

例如,您可以使用 "p" 命令来显示变量的值,使用 "k" 命令查看调用栈,使用 "lm" 命令列出模块信息等。

windbg 内核调试原理(一)

windbg 内核调试原理(一)windbg 内核调试什么是 windbg 内核调试?•windbg 是一款强大的调试工具,可以用来调试 Windows 操作系统及其应用程序。

•内核调试是 windbg 的一个功能,用于调试操作系统内核,可以帮助开发人员定位和解决系统崩溃、死锁、性能问题等。

内核调试原理1.内核调试利用 Windows 的调试接口和调试驱动程序实现。

2.它通过在目标系统中安装一个调试驱动程序,与 windbg 配合使用,来进行调试。

3.此外,还需要使用串行线缆或网络连接将目标系统和调试主机连接起来。

准备工作•在进行内核调试之前,需要安装 windbg 和调试符号文件。

•调试符号文件包含了操作系统的调试信息,是进行调试的必要文件。

配置目标系统1.在目标系统中配置调试选项:•打开“控制面板”,找到“系统和安全”。

•点击“系统”,然后选择“高级系统设置”。

•在“高级” 选项卡下,点击“设置” 按钮。

•在“启动和故障恢复” 对话框中,点击“设置”。

•将“调试信息” 设置为“完全内存转储”。

2.进行启动选项配置:•打开“命令提示符”,输入以下命令:bcdedit /debug onbcdedit /dbgsettings serial debugport:1 baudrate:115200•这样将启用调试,并配置串行端口为 COM1,波特率为 115200。

配置调试主机1.在调试主机上打开 windbg:•首先,确保已经安装了 windbg。

•然后,在开始菜单中找到 windbg,并打开它。

2.配置串口调试选项:•点击“文件” -> “选项” -> “调试选项”。

•在“调试选项” 对话框中,选择“串行” 选项卡。

•选择正确的串行端口和波特率(与目标系统配置一致)。

连接目标系统和调试主机•使用串行线缆或网络连接将目标系统和调试主机连接起来。

开始内核调试•在 windbg 中,点击“调试” -> “启动调试”。

WinDBG高级调试


WinDBG简介
控制和使用调试符号
加载


ld [ModuleName] 重新加载 .reload (.reload user) 设置选项 .symopt !sym noisy|quiet|prompts|prompts off 查找符号 ln 0xXXXXXXXX 检查符号 x nt!Dbgk*
INT3指令, 8086引入
软件断点的基础 追踪标志(TF),8086引入 单步跟踪的基础 调试寄存器,80386引入 硬件断点的基础,监视变量、IO访问,也可以针对代码 分支监视和记录, Pentium Pro引入 按分支单步的基础,记录软件的执行流程
IA-32的异常分类
CPU的调试支持
WinDBG的三类命令
常规命令(d*,e*,b*,r)
WinDBG简介
实现核心调试功能 1) 访问调试目标:读写内存、寄存器、IO等. r eip = XXXXXXXX 2) 控制调试目标: 断点、跟踪. bp nt!KiDispatchException ba W4 XXXXXXXX 内建在调试器中 元命令(.reload,.reboot,.symfix,.sympath) 内建在调试器中 扩展命令 (!process,!thread) 实现在动态加载的扩展模块(DLL)中
WinDBG简介
设置路径
.srcpath
源码路径 .exepath 可执行映像的路径 .sympath 符号文件的路径 .extpath 扩展命令模块的搜索路径
调试符号文件
存储调试符号的文件
WinDBG简介
单独的文件,如.PDB 存放在可执行文件中 微软使用的符号文件 PDB, VC1.0引入, C/C++, .Net程序 DBG, 已经过时 PDB的格式保密, 提供API访问 使用PEView 和SymView查看符号信息

WINDBG配置和使用

WinDbg配置和使用基础WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。

1. WinDbg介绍:Debugging Tools and Symbols: Getting StartedA word for WinDbg2. WinDbg下载:Install Debugging Tools for Windows 32-bit VersionInstall Debugging Tools for Windows 64-bit Versions3. 配置WinDbg:运行WinDbg->菜单->File->Symbol File Path->按照下面的方法设置_NT_SYMBOL_PATH变量:在弹出的框中输入“C:\MyCodesSymbols;SRV*C:\MyLocalSymbols*/download/symbols”(按照这样设置,WinDbg将先从本地文件夹C:\MyCodesSymbols中查找Symbol,如果找不到,则自动从MS 的Symbol Server上下载Symbols)。

另一种做法是从这个Symbol下载地址中,下载相应操作系统所需要的完整的Symbol安装包,并进行安装,例如我将其安装在D:\WINDOWS\Symbols,在该框中输入“D:\WINDOWS\Symbols”。

(这里要注意下载的Symbols的版本一定要正确,在我的Win2003+Sp1上,我曾经以为安装Win2003+Sp2的Symbols可能会牛×点,但结果证明我错了,用WinDbg打开可执行文件时,提示“PDB symbol for mscorwks.dll not loaded;Defaulted to export symb ols for ntdll.dll”的错误,我有重新装上Win2003+Sp1的Symbols, 现在一切运行正常^_^)4. 使用WinDbg:WinDbg提供了图形界面和命令行两种运行方式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 默认调试器的设置
• 注册表的位置HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/AeDebug/Debugger
• WinDBG: "WinDbg的安装目录\windbg.exe" -p %ld -e %ld –g • Visual Studio: "C:\WINDOWS\system32\vsjitdebugger.exe" -p %ld -e %ld
• 快捷键,Ctrl+S
• 设置程序的源代码目录
• 快捷键,Ctrl+P
• 设置程序的二进制文件目录
• 快捷键,Ctrl+I
第一节:WinDbg的基本使用方法
• 选择可执行启动文件
• 通过菜单选择我们生成好的exe文件
第一节:WinDbg的基本使用方法
• 命令浏览窗口
• 打开exe程序后自动打开命令浏览窗口,浏览加载模块,符号文件,寄存器等等数据
• 常用的命令行
• dt 显示当前结构体成员 • k 显示当前堆栈
• lm 列出当前加载模块
• lsa 根据地址列出代码
第二节:生成dump与分析dump
• Dump文件的种类
• 用户模式dump文件 • 核心模式dump文件
• 用户模式dump文件的种类
• 完整用户模式dump(Full User-Mode Dumps) • Mini dump(Minidumps)
第四节:WinDbg高级调试技巧
• 追踪应用程序中的潜在堆异常
• 安装Application Verifier • Application Verifier • 运行时非托管代码检查工具 • 用于定位难于发现潜在的程序错误
• 打开Heaps • 打开WinDbg,选择调试的应用程序 • 启动调试,当遇到堆错误读取或破坏的情况会自定断点 • 利用堆栈窗口查看对应异常点
• 用户模式(User-Mode)
• 当CPU运行于User Mode时,硬件防止特权指令的执行,并对内存和I/O空间的访问操作进行检查, 如果运行的代码不能通过操作系统的某种门机制,就不能进入内核模式;这种模式对应于x86的 ring3层,操作系统的用户接口部分以及所有的用户应用程序都运行在该级别。
• 追踪应用程序中的句柄
• 利用htrace工具获取应用程序中句柄的差异 • !htrace –enable 启动句柄追踪 • !htace –diff 得到应用程序句柄分配差异,检查是否存在句柄的泄露 • !htrace 句柄地址 可以得到分配此句柄的代码堆栈 • 通过lsa命令可以得到对应分配的代码位置
• WinDbg的下载
• WinDbg包含在Windows调试开发包当中 • /en-us/windows/hardware/gg463009
• Windows下的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层,操作系统的核心部分,包 括设备驱动程序都运行在该模式。
• 两种文件的区别仅仅是大小而已,minidump具有更多压缩以便于传输
第二节:生成dump与分析dump
• 创建用户模式dump文件
• 有五种工具可以用来创建dump文件,CDB、WinDbg、Dr.Watson、UserDump、ADPlus。 • 五种工具的区别
第二节:生成dump与分析dump
第二节:生成dump与分析dump
• 生成dump文件
• WinDbg生成dump文件命令行 • .dump Options Filename
• 默认生成精简内容的MiniDumps • 仅包含,模块、线程、堆栈信息
• 完整minidump文件,包含完整内存信息,句柄数据,未加载模块信息,基本内存信息,线程时间信 息 • .dump \ma FileName
《VC++ 实战调试技巧》
第二讲:WinDbg的使用与高级调试技巧
主讲人:阳毅超 UIPower CTO
第一节:WinDbg的基本使用方法
• 什么是WinDbg
WinDbg是windows平台下对内核,应用程序,服务程序进行调试的工具。相对VS而言更加小巧,功能 却比VS丰富,支持内核模式和用户模式的调试。
第一节:WinDbg的基本使用方法
• 启动调试,打开源代码文件
• 按下F5键或者点击启动调试按钮,进入调试状态
• 利用菜单打开对应的源代码,自动打开源代码窗口
第一节:WinDbg的基本使用方法
• 设置断点
• 通过F9键我们可以在源代码窗口中设置位置断点动中断到断点所在代码行
• 设置符号目录 • 设置代码目录
第三节:利用WinDbg进行远程调试
• 客户端建立调试会话
• 选择菜单,连接远程会话(Connect to Remote Session…)
• tcp:server=Server,port=Socket
• 建立成功后即可打开对应代码文件设置断点进行调试
第四节:WinDbg高级调试技巧
• 在浏览器窗口中我们可以看到当前执行代码的寄存器数据
第一节:WinDbg的基本使用方法
• 单步运行
• 通过F10进行逐过程运行 • 通过F11进行逐语句运行 • 通过Shift+F11跳出当前运行的函数 • 通过Shift+F5终止调试
• 常用的命令行
• g 运行 • !gle 当前错误代码
第一节:WinDbg的基本使用方法
• 远程调试的步骤
• 在服务器端启动调试服务器 • 客户端调试工具配置 • 客户端建立调试会话
第三节:利用WinDbg进行远程调试
• 在服务器端启动调试服务器
• 启动WinDbg,选择运行需要调试的应用程序 • 利用tcp协议建立调试服务器
• .server tcp:port=Socket
• 客户端调试器工具配置
结束语
• 内容回顾
第一节: WinDbg的基本使用方法 第三节:利用WinDbg进行远程调试
第二节: 利用WinDbg生成dump与分析dump 第四节:WinDbg的高级使用技巧
• 下期内容介绍
• 利用BoundCheck检查和定位内存泄露 • 利用GDIViewer 检查和定位GDI泄露 • 如何确定应用程序的实际内存分配情况
第二节:生成dump与分析dump
• 利用分析工具进行分析
通过!anyalyze –v 命令来得到详细的dump分析数据,包括: • 代码断点位置
• 异常的类型与错误代码
• 函数堆栈调用
第三节:利用WinDbg进行远程调试
• 远程调试
• 远程调试由两台计算机构成,客户端(Client)和服务器端(Server) • 客户端安装有需要调试的应用程序和WinDbg • 服务器端安装有WinDbg用于建立调试会话,远程控制客户端的WinDbg • 两台计算机不需要同样的windows系统版本,但需要同样版本的WinDbg
• 公共符号表(Public Symbol Table) • 静态函数 • 全局变量(extern)
第一节:WinDbg的基本使用方法
• 建立一个简单的Windows应用程序 • 完成编译,自动完成对pdb和exe文件的生成
• 启动WinDbg
第一节:WinDbg的基本使用方法
• 设置程序的符号文件目录
《VC++ 实战调试技巧》
前言:上节内容回顾与本节内容介绍
主讲人:阳毅超 UIPower CTO
上节内容回顾
➢ 调试工程配置 ➢ VisualStudio下基本调试方法 ➢ 利用pdb和dmp文件定位问题 ➢ 实际应用场景分析,VS调试技巧的综合演练
本节内容介绍
➢ WinDbg的基本使用方法 ➢ 利用WinDbg生成dump与分析dump文件 ➢ 利用WinDbg进行远程调试 ➢ WinDbg的高级调试技巧
• 注:本次WinDbg使用讲解仅涉及用户模式的应用程序调试
第一节:WinDbg的基本使用方法
• PDB文件 • 链接器自动生成 • 文件由两个部分构成,私有符号数据(private symbol data)和公共符号表(public symbol table)
• 私有符号数据(Private Symbol Data) • 函数 • 全局变量 • 局部变量 • 用户定义的结构体,类,数据类型 • 源文件的名称和源文件中每个二进制指令的行号
相关文档
最新文档