Windbg
+ -

Windbg观察窗口的NTSTATUS将十进制改为十六进制显示

2023-06-21 30 0

在Windbg里调试驱动时,NTSTATUS Status的值总显示为on-1**的十进制形式,非常不利于我们查看其对应的问题。如下:
NTSTATUS

这时,我们只需要使用dd命令显示变量的值即可。

2: kd> dd s
ffff8000`56fbf840  c0000010 fffff803 00000030 00000002
ffff8000`56fbf850  00000801 00000000 5dae2980 ffff9d8c
ffff8000`56fbf860  22461f75 ffffd32d 000001c8 00000000
ffff8000`56fbf870  56fbf9f0 ffff8000 c6191e3a fffff803
ffff8000`56fbf880  5e828060 ffff9d8c 00000000 00000000
ffff8000`56fbf890  c8a54bd0 ffffb183 00000000 00000000
ffff8000`56fbf8a0  0000001b ffff9d8c 56fbf9f0 ffff8000
ffff8000`56fbf8b0  098c1a20 ffff9d8c c6197020 fffff803

dd不光可以显示某个地址的内容,也可以显示某个变量或者寄存器指向的地址的值。

显示变量

ULONG nNum = 2;
2: kd> dd nNum
ffff8000`56fbf84c  00000002 00000801 00000000 5dae2980
ffff8000`56fbf85c  ffff9d8c 22461f75 ffffd32d 000001c8
ffff8000`56fbf86c  00000000 56fbf9f0 ffff8000 c6191e3a
ffff8000`56fbf87c  fffff803 5e828060 ffff9d8c 00000000
ffff8000`56fbf88c  00000000 c8a54bd0 ffffb183 00000000
ffff8000`56fbf89c  00000000 0000001b ffff9d8c 56fbf9f0
ffff8000`56fbf8ac  ffff8000 098c1a20 ffff9d8c c6197020
ffff8000`56fbf8bc  fffff803 5e828060 ffff9d8c 5f178000

显示寄存器

2: kd> r eax
eax=c0000010
2: kd> dd rax
00000000`c0000010  ???????? ???????? ???????? ????????
00000000`c0000020  ???????? ???????? ???????? ????????
00000000`c0000030  ???????? ???????? ???????? ????????
00000000`c0000040  ???????? ???????? ???????? ????????
00000000`c0000050  ???????? ???????? ???????? ????????
00000000`c0000060  ???????? ???????? ???????? ????????
00000000`c0000070  ???????? ???????? ???????? ????????
00000000`c0000080  ???????? ???????? ???????? ????????

0 篇笔记 写笔记

WDDM 设置电源状态
电源状态使用DxgkDdiSetPowerState来实现 InitialData.DxgkDdiSetPowerState = BddDdiSetPowerState;当驱动工作时方可进行电源状态的设置NTSTATUSBddDdiSetPowerStat......
Windbg 跟踪句柄泄漏(!htrace)
!htrace(Handle Trace) 扩展用于显示一个或多个句柄的堆栈回溯信息。直接用!htrace -?可以看到简单使用说明:0:000> !htrace -? !htrace [handle [max_traces]] !htrace -enable [max_traces......
Windbg 断点命令BP
断点指令:BP,BM,BA,BL,BC,BD,BEBP 在指定的地址设置断点bp notepad!WinMain,在Notepad的WinMain函数处下断点。断点的位置可以用符号表示,也以直接使用地址及Windbg的Pseudo-Register(虚拟寄存器),如$exentry表示进程的入口点,......
Windbg 符号查找命令x
x 查看模块的符号,如x nt!KeServiceDescriptorTable**,显示所有与 nt!KeServiceDescriptorTable匹配的符号列表kd> x nt!KeServiceDescriptorTable*8046e100 nt!KeServiceDescrip......
WDDM 官方开发参考示例
微软提供的WDDM驱动代码托管在GitHub中,目录为:Windows Driver Kit (WDK) 8.1 Samples,说实在的,挺难找的。工程名字为:Kernel mode display-only miniport driver (KMDOD) sample后续我们将对照参考示例代码......
Windbg 符号库及源文件设置
Windbg设置一般分为符号库路径设置和源文件路径设置符号库路径设置打开菜单栏,选择“Symbol File Path …”,在弹出的对话框栏中填入可载的入符号库,多个路径以分号“;”分隔。微软提供了操作系统的全部符号库,所以如果要进行windows系统自带的内核模块或应用模块进行调试,也可以只需......
Windbg 进程环境块!peb
!peb 查看当前进程环境块(PEB)注意:在64位操作系统下,使用64位和32windbg调试32位进程时,看到的地址不一样。如64位下的notepad内容如下:0:001> !pebPEB at 000007fffffd3000 InheritedAddressSpace:......
Windbg 自动分析!analyze
调试一个当机的目标计算机或应用程序,第一步是使用 !analyze 扩展命令。该扩展执行大量的自动分析。分析结果在调试器命令窗口中显示。若要数据的全冗长模式显示,你应该使用 -v 选项。例如: !analyze -v用户模式 !analyze -v 示例本例中,调试器被附加到一个已遭遇异常......
WDDM 适配器复位和资源的释放
通过获取的适配器信息将SupportNonVGA置为TRUE,表示支持使用DxgkDdiStopDeviceAndReleasePostDisplayOwnership函数重置显示设备并释放当前开机自检(POST)设备的所有权。 InitialData.DxgkDdiStopDeviceAn......
Windbg 反汇编命令u/uf
反汇编指令u,uf对指令的地址进行反汇编或对某一个函数进行反汇编u @$exentry L10L10表示控制显示0x10行反汇编,即16行0:001> u @$exentry L10notepad!WinMainCRTStartup:01006420 55 ......
WDDM显卡驱动
WDDM,全称是Windows Display Driver Model(WDDM),是微软从Vista(包括)之后的新一代图形驱动程序模型。用于代替老的图形驱动程序模型XDDM(XPDM)。名词解释:XPDM - Windows XP Display Driver ModelWDDM - ......
ReactOS 卸载驱动IopUnloadDriver
内核卸载驱动调用的函数是NtUnloadDriver,这个函数只是对IopUnloadDriver的包装。NTSTATUS NTAPINtUnloadDriver(IN PUNICODE_STRING DriverServiceName){ return IopUnloadDriver(......
Windbg 内存属性(!address)
!address!address 扩展显示目标进程或目标机使用的内存信息在调试时, 对象和栈都包含了大量的指针, 我们无法很快地猜测出他们所表示的数据. 虽然我们可以很容易地将内核空间的地址与用户态空间的地址分开, 但要把一个表示栈的地址和一个表示堆的地址区分开却不容易. 我们可以使用一个很有用的......
Windbg 结构体命令dt
dt 查看类型数据,还可用于查看模块类型的符号列表,如 dt _IMAGE_DOS_HEADER 00000000ff800000 从00000000ff800000处查看_IMAGE_DOS_HEADER类型的数据0:001> dt _IMAGE_DOS_HEADER 0000000......
WDDM 模型架构
WDDM驱动模型架构从Windows Vista开始支持,由内核模块和应用模块组成。微软图形显示子系统架构如下所示:根据上图可知,我们开发WDDM驱动并不是从头开始全部,而是配合Windows已经提供的现有的显示驱动架构的基础上开发内核态的显示MiniPort驱动、用户模式的显示驱动和用于支持O......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!