热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

windbg检查常用命令

1、dt视图结构内容dt+结构名要么dt+结构名+住址kddt_object_headernt!_OBJECT_HEADER+0x000PointerCount:Int4B+0x


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形式读取
kd> da e2164968
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字节和二进制读搭 


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

windbg检查常用命令


推荐阅读
  • ListView简单使用
    先上效果:主要实现了Listview的绑定和点击事件。项目资源结构如下:先创建一个动物类,用来装载数据:Animal类如下:packagecom.example.simplelis ... [详细]
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • 深入解析动态代理模式:23种设计模式之三
    在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ... [详细]
  • 利用Selenium与ChromeDriver实现豆瓣网页全屏截图
    本文介绍了一种使用Selenium和ChromeDriver结合Python代码,轻松实现对豆瓣网站进行完整页面截图的方法。该方法不仅简单易行,而且解决了新版Selenium不再支持PhantomJS的问题。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 鼠标悬停出现提示信息怎么做
    概述–提示:指启示,提起注意或给予提醒和解释。在excel中会经常用到给某个格子增加提醒信息,比如金额提示输入数值或最大长度值等等。设置方式也有多种,简单的,仅为单元格插入批注就可 ... [详细]
  • 探讨 HDU 1536 题目,即 S-Nim 游戏的博弈策略。通过 SG 函数分析游戏胜负的关键,并介绍如何编程实现解决方案。 ... [详细]
  • 深入理解ExtJS:从入门到精通
    本文详细介绍了ExtJS的功能及其在大型企业前端开发中的应用。通过实例和详细的文件结构解析,帮助初学者快速掌握ExtJS的核心概念,并提供实用技巧和最佳实践。 ... [详细]
  • 本文探讨了如何在Classic ASP中实现与PHP的hash_hmac('SHA256', $message, pack('H*', $secret))函数等效的哈希生成方法。通过分析不同实现方式及其产生的差异,提供了一种使用Microsoft .NET Framework的解决方案。 ... [详细]
  • 本文介绍了如何通过Java代码计算一个整数的位数,并展示了多个基础编程示例,包括求和、平均分计算、条件判断等。 ... [详细]
  • 本题要求在一组数中反复取出两个数相加,并将结果放回数组中,最终求出最小的总加法代价。这是一个经典的哈夫曼编码问题,利用贪心算法可以有效地解决。 ... [详细]
  • 本文探讨了C++编程中理解代码执行期间复杂度的挑战,特别是编译器在程序运行时生成额外指令以确保对象构造、内存管理、类型转换及临时对象创建的安全性。 ... [详细]
  • Appium + Java 自动化测试中处理页面空白区域点击问题
    在进行移动应用自动化测试时,有时会遇到某些页面没有返回按钮,只能通过点击空白区域返回的情况。本文将探讨如何在Appium + Java环境中有效解决此类问题,并提供详细的解决方案。 ... [详细]
  • 如何清除Chrome浏览器地址栏的特定历史记录
    在使用Chrome浏览器时,你可能会发现地址栏保存了大量浏览记录。有时你可能希望删除某些特定的历史记录而不影响其他数据。本文将详细介绍如何单独删除地址栏中的特定记录以及批量清除所有历史记录的方法。 ... [详细]
  • 历经三十年的开发,Mathematica 已成为技术计算领域的标杆,为全球的技术创新者、教育工作者、学生及其他用户提供了一个领先的计算平台。最新版本 Mathematica 12.3.1 增加了多项核心语言、数学计算、可视化和图形处理的新功能。 ... [详细]
author-avatar
众神痴梦_325
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有