(不是很全面。可以参考WinDbg的帮助文档。操作系统 win7 32)
dt命令主要用来查看相关的变量,结构体等的信息,它配合一些参数使用可以 获取想要的信息。
使用dt命令查看结构体:

lkd> dt nt!_list_entry  +0x000 Flink            : Ptr32 _LIST_ENTRY +0x004 Blink            : Ptr32 _LIST_ENTRY这是双向循环链表,它的表项结构有两个成员,类型都是_list_entry指针。
lkd> dt nt!_peb_ldr_data+0x000 Length           : Uint4B+0x004 Initialized      : UChar+0x008 SsHandle         : Ptr32 Void+0x00c InLoadOrderModuleList : _LIST_ENTRY+0x014 InMemoryOrderModuleList : _LIST_ENTRY+0x01c InInitializationOrderModuleList : _LIST_ENTRY+0x024 EntryInProgress  : Ptr32 Void+0x028 ShutdownInProgress : UChar+0x02c ShutdownThreadId : Ptr32 Void   这是peb(process enviroment block 进程环境块)结构体的一个成员,可以看到里面就使用了3个双向循环链表来记录加载的模块信息。
lkd> dt nt!_mm_avl_table+0x000 BalancedRoot     : _MMADDRESS_NODE+0x014 DepthOfTree      : Pos 0, 5 Bits+0x014 Unused           : Pos 5, 3 Bits+0x014 NumberGenericTableElements : Pos 8, 24 Bits+0x018 NodeHint         : Ptr32 Void+0x01c NodeFreeHint     : Ptr32 Void
lkd> dt nt!_mmaddress_node+0x000 u1               : <unnamed-tag>+0x004 LeftChild        : Ptr32 _MMADDRESS_NODE+0x008 RightChild       : Ptr32 _MMADDRESS_NODE+0x00c StartingVpn      : Uint4B+0x010 EndingVpn        : Uint4B  avl树在内存的管理(mm--memory management)是被使用。

dt struct addr 来列出具体结构struct的给成员的值

lkd> dt nt!_kprocess 83864d40 +0x000 Header           : _DISPATCHER_HEADER+0x010 ProfileListHead  : _LIST_ENTRY [ 0x83864d50 - 0x83864d50 ]+0x018 DirectoryTableBase : 0x89233480+0x01c LdtDescriptor    : _KGDTENTRY+0x024 Int21Descriptor  : _KIDTENTRY+0x02c ThreadListHead   : _LIST_ENTRY [ 0x83864c38 - 0x88fbca30 ]+0x034 ProcessLock      : 0+0x038 Affinity         : _KAFFINITY_EX+0x044 ReadyListHead    : _LIST_ENTRY [ 0x83864d84 - 0x83864d84 ]+0x04c SwapListEntry    : _SINGLE_LIST_ENTRY+0x050 ActiveProcessors : _KAFFINITY_EX.......(还有没截下来的)  _kprocess结构里包含有结构体,那些部分没有给出值,可以加上-b 参数来展开那些结构体,如(dt nt!_kprocess -b 83864d40)。
lkd> dt nt!_eprocess -l ActiveProcessLinks.Flink -y Ima -yoi Uni 83864d40   ActiveProcessLinks.Flink at 0x83864d40
---------------------------------------------
UniqueProcessId : 0x00000ac0 Void
ActiveProcessLinks :  [ 0x838cc0e8 - 0x8385fd00 ]
ImageFileName : [15]  "DrClient.exe"
ImagePathHash : 0x66151206
ImageNotifyDone : 0y1   -l参数来列出ActiveProcessLinks.Flink链表里的每一个表向项;-y表明下一个参数的名字的开始,(ImageFileName,ImagePathHash都是以Ima开头);-yoi是y,o,i三个选项的组合,o表示省略结构域的偏移量,i表示不缩进子类型。

WinDbg命令dt的使用相关推荐

  1. WinDbg 命令三部曲:(一)WinDbg 命令手册

    <WinDbg 命令三部曲:(一)WinDbg 命令手册> <WinDbg 命令三部曲:(二)WinDbg SOS 扩展命令手册> <WinDbg 命令三部曲:(三)Wi ...

  2. windbg命令手册

    一. WINDBG命令手册 调试准备 为了测试 WinDbg 中使用 SOS 扩展命令,我创建了应用程序 "MemoryLeakApp.exe",Visual Studio 程序选 ...

  3. WinDBG命令概览(上) - 标准命令

    WinDBG命令概览(上) - 标准命令 WinDBG的大多数功能是以命令方式工作的, 本系列将介绍WinDBG的三类命令, 标准命令, 元命令和扩展命令. 标准命令 =============== ...

  4. WinDbg 命令三部曲:(三)WinDbg SOSEX 扩展命令手册

    本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. 系列博文 <WinDbg 命令三部曲:(一)WinDbg 命令手册> <WinDb ...

  5. 学习使用常用的windbg命令(u、dt、ln、x)

    http://blog.csdn.net/wesley2005/article/details/51501514 目录: (1) u命令(反汇编) (2) dt命令(查看数据结构) (3) ln命令( ...

  6. Windbg命令学习9,经典死锁(!cs和~~[TID])

    先上个代码,自己随手写的: #include <windows.h >CRITICAL_SECTION cs1; CRITICAL_SECTION cs2;DWORD __stdcall ...

  7. [分享]方便的 windbg 命令 - !list

    Windows 内部的各种结构通常都会由双向链表串起来,用 !list 命令查看这些结构非常方便. 比如查看系统中的所有进程: lkd> !list -t nt!_LIST_ENTRY.Flin ...

  8. windbg 命令 - !list

    Windows 内部的各种结构通常都会由双向链表串起来,用 !list 命令查看这些结构非常方便. 比如查看系统中的所有进程: lkd> !list -t nt!_LIST_ENTRY.Flin ...

  9. WinDbg 命令学习 - !list

    来自http://bbs.pediy.com/showthread.php?t=43835 Windows 内部的各种结构通常都会由双向链表串起来,用 !list 命令查看这些结构非常方便. 比如查看 ...

最新文章

  1. java(13)内部类
  2. Vue源码探究-事件系统
  3. xtext_使用Xtext为Eclipse和IntelliJ开发DSL
  4. Latex的表格注释
  5. v-region 地址组件无法回显问题(选择地址保存后,打开编辑,发现刚才选择的地址【省市县乡】信息消失,信息不回显)
  6. android安装过哪些应用程序,如何安装应用程序两次而不干扰Android?
  7. 【C语言】数列有序(一维数组处理)
  8. [Android Pro] 内容提供者ContentProvider的基本使用
  9. c语言编程有限次数猜数游戏,用c语言编程猜数字
  10. 帝国cms模板html文件夹,帝国cms的模板保存在哪里
  11. Aras Innovator-学-习-之-旅-
  12. 关于LNK2000 _main 已经在 某某某.obj 中定义的问题
  13. 碗中有米,心中有他,他解决的不只是吃饭问题......
  14. 不换行输出的两种方式
  15. 操作系统原理与Linux实践教程【第一章 操作系统概论】
  16. 【JokerのKintex7325】SDK程序从QSPI启动过慢分析。
  17. pfam基本介绍,以及蛋白质序列下载
  18. 写了一个网站:12小时福利区
  19. 自用整理的14个超实用PHP自定义函数
  20. java webservice 证书_java调用基于https的webservice(不生成密钥,基于spring配置,接收所有证书)...

热门文章

  1. 下面选项中属于java基本数据类型的有_下面选项中属于Java基本数据类型的有
  2. xamarin可视 对讲_c#语音对讲demo
  3. 如何将fMRI 4D-nii文件转化为3D-nii文件
  4. TensorFlow2利用tf.image实现数据增强
  5. VR全景看考场,线上“踩点”不迷路
  6. 高性能多层堆叠致动器 压电弯曲驱动器 压电执行器 压电控制器 压电放大器 压电管扫描器 压电致动器 压电陶瓷促动器 压电陶瓷管驱动器 压电陶瓷致动器 压电陶瓷驱动 压电陶瓷驱动器 是什么?
  7. esp32 sd卡 micropython_ESP32 下 micropython 使用 SD卡
  8. 效率办公 | python零基础知识点汇总(下)
  9. 【linux】循序渐进学运维-ls
  10. 【Linux】循序渐进学运维-day01