WinDbg命令dt的使用
(不是很全面。可以参考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的使用相关推荐
- WinDbg 命令三部曲:(一)WinDbg 命令手册
<WinDbg 命令三部曲:(一)WinDbg 命令手册> <WinDbg 命令三部曲:(二)WinDbg SOS 扩展命令手册> <WinDbg 命令三部曲:(三)Wi ...
- windbg命令手册
一. WINDBG命令手册 调试准备 为了测试 WinDbg 中使用 SOS 扩展命令,我创建了应用程序 "MemoryLeakApp.exe",Visual Studio 程序选 ...
- WinDBG命令概览(上) - 标准命令
WinDBG命令概览(上) - 标准命令 WinDBG的大多数功能是以命令方式工作的, 本系列将介绍WinDBG的三类命令, 标准命令, 元命令和扩展命令. 标准命令 =============== ...
- WinDbg 命令三部曲:(三)WinDbg SOSEX 扩展命令手册
本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. 系列博文 <WinDbg 命令三部曲:(一)WinDbg 命令手册> <WinDb ...
- 学习使用常用的windbg命令(u、dt、ln、x)
http://blog.csdn.net/wesley2005/article/details/51501514 目录: (1) u命令(反汇编) (2) dt命令(查看数据结构) (3) ln命令( ...
- Windbg命令学习9,经典死锁(!cs和~~[TID])
先上个代码,自己随手写的: #include <windows.h >CRITICAL_SECTION cs1; CRITICAL_SECTION cs2;DWORD __stdcall ...
- [分享]方便的 windbg 命令 - !list
Windows 内部的各种结构通常都会由双向链表串起来,用 !list 命令查看这些结构非常方便. 比如查看系统中的所有进程: lkd> !list -t nt!_LIST_ENTRY.Flin ...
- windbg 命令 - !list
Windows 内部的各种结构通常都会由双向链表串起来,用 !list 命令查看这些结构非常方便. 比如查看系统中的所有进程: lkd> !list -t nt!_LIST_ENTRY.Flin ...
- WinDbg 命令学习 - !list
来自http://bbs.pediy.com/showthread.php?t=43835 Windows 内部的各种结构通常都会由双向链表串起来,用 !list 命令查看这些结构非常方便. 比如查看 ...
最新文章
- java(13)内部类
- Vue源码探究-事件系统
- xtext_使用Xtext为Eclipse和IntelliJ开发DSL
- Latex的表格注释
- v-region 地址组件无法回显问题(选择地址保存后,打开编辑,发现刚才选择的地址【省市县乡】信息消失,信息不回显)
- android安装过哪些应用程序,如何安装应用程序两次而不干扰Android?
- 【C语言】数列有序(一维数组处理)
- [Android Pro] 内容提供者ContentProvider的基本使用
- c语言编程有限次数猜数游戏,用c语言编程猜数字
- 帝国cms模板html文件夹,帝国cms的模板保存在哪里
- Aras Innovator-学-习-之-旅-
- 关于LNK2000 _main 已经在 某某某.obj 中定义的问题
- 碗中有米,心中有他,他解决的不只是吃饭问题......
- 不换行输出的两种方式
- 操作系统原理与Linux实践教程【第一章 操作系统概论】
- 【JokerのKintex7325】SDK程序从QSPI启动过慢分析。
- pfam基本介绍,以及蛋白质序列下载
- 写了一个网站:12小时福利区
- 自用整理的14个超实用PHP自定义函数
- java webservice 证书_java调用基于https的webservice(不生成密钥,基于spring配置,接收所有证书)...
热门文章
- 下面选项中属于java基本数据类型的有_下面选项中属于Java基本数据类型的有
- xamarin可视 对讲_c#语音对讲demo
- 如何将fMRI 4D-nii文件转化为3D-nii文件
- TensorFlow2利用tf.image实现数据增强
- VR全景看考场,线上“踩点”不迷路
- 高性能多层堆叠致动器 压电弯曲驱动器 压电执行器 压电控制器 压电放大器 压电管扫描器 压电致动器 压电陶瓷促动器 压电陶瓷管驱动器 压电陶瓷致动器 压电陶瓷驱动 压电陶瓷驱动器 是什么?
- esp32 sd卡 micropython_ESP32 下 micropython 使用 SD卡
- 效率办公 | python零基础知识点汇总(下)
- 【linux】循序渐进学运维-ls
- 【Linux】循序渐进学运维-day01