• windbg检查常用命令



    1、dt  视图结构内容

       dt + 结构名   要么 dt + 结构名 + 住址

    kd> dt _object_header
    nt!_OBJECT_HEADER
       +0x000 PointerCount     : Int4B
       +0x004 HandleCount      : Int4B
       +0x004 NextToFree       : Ptr32 Void
       +0x008 Type             : Ptr32 _OBJECT_TYPE
       +0x00c NameInfoOffset   : UChar
       +0x00d HandleInfoOffset : UChar
       +0x00e QuotaInfoOffset  : UChar
       +0x00f Flags            : UChar
       +0x010 ObjectCreateInfo : Ptr32 _OBJECT_CREATE_INFORMATION
       +0x010 QuotaBlockCharged : Ptr32 Void
       +0x014 SecurityDescriptor : Ptr32 Void
       +0x018 Body             : _QUAD
    

    kd> dt _object_header 0x88132d58  //此地址我本机某对象头的地址
    nt!_OBJECT_HEADER
       +0x000 PointerCount     : 2
       +0x004 HandleCount      : 0
       +0x004 NextToFree       : (null) 
       +0x008 Type             : 0x884ee288 _OBJECT_TYPE
       +0x00c NameInfoOffset   : 0x10 ''
       +0x00d HandleInfoOffset : 0 ''
       +0x00e QuotaInfoOffset  : 0x20 ' '
       +0x00f Flags            : 0x1a ''
       +0x010 ObjectCreateInfo : 0x00000001 _OBJECT_CREATE_INFORMATION
       +0x010 QuotaBlockCharged : 0x00000001 
       +0x014 SecurityDescriptor : (null) 
       +0x018 Body             : _QUAD

    kd> dt _OBJECT_HEADER_NAME_INFO 0x88132d48  //对象名
    nt!_OBJECT_HEADER_NAME_INFO
       +0x000 Directory        : 0xe10067f0 _OBJECT_DIRECTORY
       +0x004 Name             : _UNICODE_STRING "KeRead"
       +0x00c QueryReferences  : 1

    kd> dt _UNICODE_STRING 0x88132d4C
    nt!_UNICODE_STRING
     "KeRead"
       +0x000 Length           : 0xc
       +0x002 MaximumLength    : 0xc
       +0x004 Buffer           : 0xe2164968  "KeRead"
    

    2、dd等 将内存地址的内容以 四字节等显示出来

        dd + 地址

        

    dd e2164968
    e2164968  0065004b 00650052 00640061 5112730d
    e2164978  00080403 e24e4d43 e2164a80 e216b008
    e2164988  00000000 417b0026 36334444 2d384141
    e2164998  41313537 3735342d 32412d39 442d3636
    e21649a8  35463636 43323032 7d424243 00000000
    e21649b8  0c080408 e24e4d43 00010001 3aabe829
    e21649c8  00000000 417b0026 43364344 2d383842
    e21649d8  43343234 4431312d 35392d32 302d4132
    
    dd e2164968 l10    // 不是110  是 L的小写l -- l10
    e2164968  0065004b 00650052 00640061 5112730d
    e2164978  00080403 e24e4d43 e2164a80 e216b008
    e2164988  00000000 417b0026 36334444 2d384141
    e2164998  41313537 3735342d 32412d39 442d3636
    
    3、da、du将内存地址的内容以ascii或unicode形式读取
    <span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;">kd> da e2164968</span>
    e2164968  "K"
    kd> da e2164969
    e2164969  ""
    kd> da e216496a
    e216496a  "e"
    kd> da e216496b
    e216496b  ""
    kd> da e216496c
    e216496c  "R"
    kd> da e216496d
    e216496d  ""
    kd> da e216496e
    e216496e  "e"
    kd> da e216496f
    e216496f  ""
    kd> da e2164970
    e2164970  "a"

    kd> du e2164968
    e2164968  "KeRead猍儒?.?.?.?."
    


    一些经常使用命令,就不逐个測试了:
    1. da 依照ASCII字符串读取
    2. db 依照单字节和ASCII字符串读取
    3. dc 依照4字节和ASCII字符串读取
    4. dd 依照4字节读取
    5. dD 依照双浮点(8字节)格式读取
    6. df 依照单浮点(4字节)格式读取
    7. dp 依照指针(32位系统读取4字节,64位系统读取8字节)格式读取
    8. dq 依照8字节读取
    9. du 依照Unicode字符串读取
    10. dw 依照2字节读取
    11. dW 依照2字节和ASCII字符串读取
    12. dyb 依照单字节和二进制读取
    13. dyd 依照4字节和二进制读搭 


    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    (转)Android IPC机制详解
    (转)android 多线程
    (转)android进程间通信:使用AIDL
    (转)如何调用SQLITE工具查看数据库
    (转)Android 自动 打包
    (转)如何手动编译一个APK
    (转)编译Android源码的全过程
    Js打造层拖动实例:网站菜单拖拽移位效果
    JS鼠标悬停时动态翻滚的紫色导航条
    jQuery1.3.2竖向的伸缩菜单
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4874180.html
Copyright © 2020-2023  润新知