找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 15283|回复: 5

WinDBG 使用教学(一)

 火.. [复制链接]

96

主题

158

回帖

4

精华

核心会员

积分
6513
发表于 2012-5-24 21:29:55 | 显示全部楼层 |阅读模式
本帖最后由 diddom 于 2012-6-3 05:40 编辑

主题: 紫水晶 WinDBG 使用教学(一)

    这篇是第一章, 所以首重 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


        本章先就大概这样, 如有错误还请各位大侠帮忙指正

评分

参与人数 2水晶币 +200 收起 理由
Tesla.Angela + 100 赞一个!
admin + 100

查看全部评分

280

主题

203

回帖

0

精华

版主

积分
1808
发表于 2012-5-24 23:56:04 | 显示全部楼层
原来是介绍LKD,不错。

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2012-5-25 12:41:44 | 显示全部楼层
不错,继续写下去吧。

96

主题

158

回帖

4

精华

核心会员

积分
6513
 楼主| 发表于 2012-5-26 03:29:41 | 显示全部楼层
本帖最后由 diddom 于 2012-5-26 04:02 编辑

Reload 的部分我没写好

因为每次重启 WinDBG, 都必须 Reload

我却在 Reload 的部分轻轻带过

所以还是必须在某部分加强一下{:soso_e113:}

0

主题

40

回帖

0

精华

铜牌会员

积分
192
发表于 2012-6-7 00:16:04 | 显示全部楼层
{:soso_e101:}不顶不行,不火不行,来点深入的

7

主题

414

回帖

1

精华

铂金会员

积分
2173
发表于 2013-4-7 02:33:16 | 显示全部楼层
實在太感謝大大!  頂!!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表