windbg可以查看GDT表

命令: dg
功能: 显示指定的段描述符信息
示例:
显示一个
0:003> dg 0x18
P Si Gr Pr Lo
Sel Base Limit Type l ze an es ng Flags


0018 00000000 ffffffff Code RE Ac 3 Bg Pg P Nl 00000cfb

显示指定范围8到0x40
0:000> dg 8 0x40
P Si Gr Pr Lo
Sel Base Limit Type l ze an es ng Flags


0008 00000000 ffffffff Code RE Ac 0 Bg Pg P Nl 00000c9b
0010 00000000 ffffffff Data RW Ac 0 Bg Pg P Nl 00000c93
0018 00000000 ffffffff Code RE Ac 3 Bg Pg P Nl 00000cfb
0020 00000000 ffffffff Data RW Ac 3 Bg Pg P Nl 00000cf3
0028 80042000 000020ab TSS32 Busy 0 Nb By P Nl 0000008b
0030 ffdff000 00001fff Data RW Ac 0 Bg Pg P Nl 00000c93
0038 7ffdf000 00000fff Data RW Ac 3 Bg By P Nl 000004f3
0040 00000400 0000ffff Data RW 3 Nb By P Nl 000000f2

说明:

Iddecimalhex
KGDT_NULL00x00
KGDT_R0_CODE80x08
KGDT_R0_DATA160x10
KGDT_R3_CODE240x18
KGDT_R3_DATA320x20
KGDT_TSS400x28
KGDT_R0_PCR480x30
KGDT_R3_TEB560x38
KGDT_VDM_TILE640x40
KGDT_LDT720x48
KGDT_DF_TSS800x50
KGDT_NMI_TSS880x58

另外一种查看方式:
lkd> !pcr
KPCR for Processor 0 at ffdff000:
Major 1 Minor 1
NtTib.ExceptionList: acb74c7c
NtTib.StackBase: acb74df0
NtTib.StackLimit: acb71000
NtTib.SubSystemTib: 00000000
NtTib.Version: 00000000
NtTib.UserPointer: 00000000
NtTib.SelfTib: 7ffde000

         SelfPcr: ffdff000
            Prcb: ffdff120
            Irql: 00000000
             IRR: 00000000
             IDR: ffffffff
   InterruptMode: 00000000
             IDT: 8003f400
             GDT: 8003f000
             TSS: 80042000

   CurrentThread: 8946b630
      NextThread: 00000000
      IdleThread: 80551d20

       DpcQueue: 

lkd> dd 8003f000
8003f000 00000000 00000000 0000ffff 00cf9b00
8003f010 0000ffff 00cf9300 0000ffff 00cffb00
8003f020 0000ffff 00cff300 200020ab 80008b04
8003f030 f0000001 ffc093df e0000fff 7f40f3fd
8003f040 0400ffff 0000f200 00000000 00000000
8003f050 95000068 80008954 95680068 80008954
8003f060 2f30ffff 00009302 80003fff 0000920b
8003f070 700003ff ff0092ff 0000ffff 80009a40

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Windbg 是一种在 Windows 操作系统下进行调试的工具,可以帮助开发人员识别并解决程序中的错误。由于 Windows 使用符号(Symbol tables)来存储可执行文件和模块文件中的符号名称和地址信息,所以为了更准确地调试程序,我们需要下载符号Windbg 自带了一个命令行程序名为 SymChk,它可以搜索符号服务器以获取可执行文件和程序库的符号。下面是下载符号的步骤: 1. 打开 Windbg。 2. 在 Windbg 中打开需要调试的程序。此时,Windbg 可能会提示无法加载符号文件。 3. 在 Windbg 的命令行界面中,输入以下命令: .sympath SRV*c:\symbols*http://msdl.microsoft.com/download/symbols 其中,c:\symbols 是本地符号目录,通常情况下是新建一个空文件夹作为符号目录;http://msdl.microsoft.com/download/symbols 是微软的符号服务器地址。 4. 输入以下命令以开始下载符号: .symfix c:\symbols 这个命令是告诉 Windbg 将符号文件存储到指定的符号目录。 5. 最后,在 Windbg 的命令行中输入命令: .reload /f 这个命令告诉 Windbg 重新加载程序和所有的符号文件。 完成上述步骤之后,Windbg 就可以正确地显示程序的符号信息了。需要注意的是,如果程序使用的是自定义的符号文件而不是 Microsoft 的符号文件,则需要将符号文件添加到符号路径中。 ### 回答2: Windbg是Microsoft Windows操作系统上一种强大的调试工具,能够帮助开发者/程序员追踪和解决程序在运行时出现的各种问题。在进行Windbg调试的过程中,符号显得尤为重要。符号是一种包含源代码、二进制代码和调试信息的文件,它可以帮助调试器将二进制代码映射到源代码的行数和函数名上。 在Windbg中下载符号有以下几个步骤: 第一步:打开Windbg,按"F12"键打开"命令"窗口。 第二步:在"命令"窗口中输入下列命令之一,以下载目标文件的符号: - .symfix c:\symbols:将符号下载到c盘上的symbols文件夹中。 - .sympath+ C:\path_to_your_symbols:在已有的符号路径中添加一个路径。 - .symproxy (proxy server):(port):在符号路径前面添加代理。 第三步:输入"!sym noisy"命令可以打开符号下载的详细输出,并且确认符号下载正在进行。 第四步:下载完成后,在Windbg的左部窗口"Modules"中选择想要观察的模块,右键点击该模块,在弹出的菜单中选择"Symbol Load Information",即可查看符号加载的情况。 通过以上步骤,我们可以轻松下载到符号,并且在调试程序时得到更准确和详细的调试信息,从而更好地定位和解决程序的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值