WinDBG 使用教学(一)

本文详细介绍了如何在WinDBG中设置Symbol,包括基本设定、Symbol路径配置及批量下载Symbol文件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这篇是第一章, 所以首重 WinDBG 基本设定, 没错, 就是 Symbol

    连基本的 Symbol 都没有设定, 要怎麽玩 Kernel 呀?

    接下来我会 step by step 解说 Symbol 的设定方法

    废话少说

    首先这里假设你已经把 WinDBG 安装好了   

一. 启动 WinDBG 後, 你会在下面命令列看到 Debuggee not connected

    好~, 开始建立连结 [File] -> [Kernel Debug] , 之後会出现对话盒

    对话盒里面有个 Tab Control, 点选 Local 页签, 然後按 [确定]

    假如你是第一次启动, 可能会出现一个对话盒, 会问你要不要储存 workspace,

    按 [Yes], 这样就完成建立了一个 Debuggee 的连结

    这时你可以输入 version, 看一下系统的相关资讯和 Debugger 的版本


二. 接下来要搞定 SymBol 设定, 这部分很重要, 你一定要了解

    从 [File] -> [Symbol File Path],  或者按 Ctrl + S, 

    之後会出现一个以 Symbol Search Path 为 Title 的对话盒, 开始设定 SymBol 路径

    输入 C:\Windows\Symbols;SRV*C:\Windows\Symbols* http://msdl.microsoft.com/download/symbols

    然後按 [确定]

    我先解说这个输入的用意, 它分成两部分

    一个是 C:\Windows\Symbols

    另一个是 SRV*C:\Windows\Symbols* http://msdl.microsoft.com/download/symbols

    两个以分号 ";" 隔开的

    其用意就是告诉 WinDBG 如果你在 C:\Windows\Symbols 这个目录下找不到 Symbol,

    那麽就到  http://msdl.microsoft.com/download/symbols  这网址去找,

    并且把找到的 Symbol File 下载到 C:\Windows\Symbols 目录底下 (SRV*C:\Windows\Symbols*)

    这样就完成了 Symbol File Path 的设定了

    有时候会有很多其它状况, 例如 WinDBG 会说找不到呀, 

    解决方法就是 reload (Reload Module)

    在 Symbol File Path 的设定对话盒下面有个 reload 的 CheckBox,

    把它打勾, 然後按 [确定],  让它自动重新载入

    另外, 你也可以使用内建指令 .reload , 快速的 Reload Module

    
三. 教你如何一次性的完整下载所有 Symbol Files

    平常我们都只是在查看 Ntdll 的函数, 或者查看 Service Descriptor Table

    这样 WinDBG 只会下载 ntdll.pdb 和 ntkrnlmp.pdb 或者 win32k.pdb 到 C:\Windows\Symbol 

    但其它的呢, 万一哪天要用到而 Micro$oft 又停止支援怎办, 嗯~把它一次通通下载到 C:\Windows\Symbol 好了

    启动 DOS Command Line, 也就是 cmd.exe

    [开始] -> [执行] -> 输入 cmd -> 按 [确定] , 会出现 DOS 的 Command Line 视窗

    先跳进 WinDBG 安装目录

    在 DOS 视窗输入 cd C:\Program Files\Debugging Tools for Windows (x86), 按 [Enter]

    然後再输入 

    symchk.exe /r C:\Windows\system32 /s SRV*C:\Windows\Symbols* http://msdl.microsoft.com/download/symbols

    按 [Enter] 後它就开始自动扫描和下载 C:\Windows\system32 目录下的档案的 Symbol File 到 C:\Windows\Symbols

    当然你也可以扫描和下载其他目录下系统档案的 Symbol Files

    例如扫描 .Net 的档案, 在 DOS 的Command Line 视窗输入

    symchk.exe /r C:\WINDOWS\Microsoft.NET\Framework /s SRV*C:\Windows\Symbols* http://msdl.microsoft.com/download/symbols
    
    但不建议放在同一个目录, 建议改放到 C:\Windows\NetSymbols

    指令就变成

    symchk.exe /r C:\WINDOWS\Microsoft.NET\Framework /s SRV*C:\Windows\NetSymbols* http://msdl.microsoft.com/download/symbols
Windbg款用于Windows调试的工具,可以用来分析dmp文件。以下是使用Windbg的教程: 1. 下载Windbg:你可以从Windows 10 SDK中下载Windbg,或者在已安装Windows 10 SDK的情况下,在控制面板的程序中选择安装Debugging Tools For Windows。 2. 准备dmp文件:你可以通过使用Windows管理器的"创建转储文件"功能来生成dmp文件,或者使用Windbg附加到进程的方式,在程序运行到出错位置后生成dmp文件。 3. 打开dmp文件:你可以使用Windbg或者Visual Studio来打开dmp文件进行分析。如果是通过"创建转储文件"生成的dmp文件,可以使用Windbg或者Visual Studio打开。如果是通过Windbg附加到进程后生成的dmp文件,可以使用Windbg打开。 4. 分析dmp文件:使用Windbg打开dmp文件后,你可以使用各种Windbg命令来分析和调试程序。你可以参考相关的参考文章和教程来学习如何使用Windbg进行调试。 需要注意的是,使用Visual Studio打开通过Windbg附加到进程生成的dmp文件时可能会提示版本过旧无法打开。这是因为Visual Studio和Windbg使用的调试引擎不同。在这种情况下,建议使用Windbg来分析dmp文件。 希望这个教程对你有帮助! #### 引用[.reference_title] - *1* *2* *3* [windbg使用教程(调试异常及死锁等)](https://blog.youkuaiyun.com/baidu_38621657/article/details/110942007)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值