Advanced Debugging
About AdvDbg Consult Train Services Products Tools Community Contact  
欢迎光临 高端调试 登录 | 注册 | FAQ
 
  ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
 
  格蠹调试套件(GDK)
  格蠹学院
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
  《软件调试(第二版)》
沪ICP备11027180号-1

Windows内核调试

帖子发起人: Da Vinci   发起时间: 2009-02-16 17:02 下午   回复: 9

Print Search
帖子排序:    
   2009-02-16, 17:02 下午
chenzf 离线,最后访问时间: 2009/8/6 12:38:15 Da Vinci

发帖数前25位
男
注册: 2008-11-03
发 贴: 38
问各位老师,用什么命令看驱动产生的设备对象???
Reply Quote
windbg调试的时候,想看一个驱动对象所产生的设备对象。但是首先驱动对象就没有找到....用命令!object \driver\驱动名,windbg说没有找到对象。因为找不到驱动对象,所以它产生的设备对象也就没有办法用!devobj命令来看了。
另外,我直接用!devobj \device\harddiskvolume1,为什么也是说没有找到对象呢? 这个设备我用winobj都能看到,为什么用windbg看不到?
到底如何才能察看一个设备对象的结构呢?

IP 地址: 已记录   报告
   2009-02-17, 00:17 上午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: 问各位老师,用什么命令看驱动产生的设备对象???
Reply Quote
!drvobj ntfs
Driver object (8ac8b9f8) is for:
\FileSystem\Ntfs
Driver Extension List: (id , addr)

Device Object list:
8a977770 8ac87770 8acafb50

dt _DEVICE_OBJECT 8a977770
nt!_DEVICE_OBJECT
+0x000 Type : 3
+0x002 Size : 0x860
+0x004 ReferenceCount : 0
+0x008 DriverObject : 0x8ac8b9f8 _DRIVER_OBJECT
+0x00c NextDevice : 0x8ac87770 _DEVICE_OBJECT
+0x010 AttachedDevice : 0x8a6bddd0 _DEVICE_OBJECT
+0x014 CurrentIrp : (null)
+0x018 Timer : (null)
+0x01c Flags : 0
+0x020 Characteristics : 0
+0x024 Vpb : (null)
+0x028 DeviceExtension : 0x8a977828
+0x02c DeviceType : 8
+0x030 StackSize : 10 ''
+0x034 Queue : __unnamed
+0x05c AlignmentRequirement : 1
+0x060 DeviceQueue : _KDEVICE_QUEUE
+0x074 Dpc : _KDPC
+0x094 ActiveThreadCount : 0
+0x098 SecurityDescriptor : (null)
+0x09c DeviceLock : _KEVENT
+0x0ac SectorSize : 0x200
+0x0ae Spare1 : 1
+0x0b0 DeviceObjectExtension : 0x8a977fd0 _DEVOBJ_EXTENSION
+0x0b4 Reserved : (null)

IP 地址: 已记录   报告
   2009-02-17, 13:01 下午
chenzf 离线,最后访问时间: 2009/8/6 12:38:15 Da Vinci

发帖数前25位
男
注册: 2008-11-03
发 贴: 38
Re: 问各位老师,用什么命令看驱动产生的设备对象???
Reply Quote
为什么我用!drvobj ntfs,显示:
Driver object (89408000) is for:
89408000: is not a driver object??
IP 地址: 已记录   报告
   2009-02-17, 14:28 下午
MJ0011 离线,最后访问时间: 2009/12/24 22:33:41 MJ0011

发帖数前10位
注册: 2008-04-24
发 贴: 112
Re: 问各位老师,用什么命令看驱动产生的设备对象???
Reply Quote
需要加上对象路径
!drvobj \Driver\Ntfs
IP 地址: 已记录   报告
   2009-02-17, 16:43 下午
chenzf 离线,最后访问时间: 2009/8/6 12:38:15 Da Vinci

发帖数前25位
男
注册: 2008-11-03
发 贴: 38
Re: 问各位老师,用什么命令看驱动产生的设备对象???
Reply Quote
1: kd> !drvobj \Driver\Ntfs
Driver object \Driver\Ntfs not found

仍然显示这个问题
一直都没找到能列出驱动对象的方法。。。。到底怎么回事啊
IP 地址: 已记录   报告
   2009-02-17, 17:19 下午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: 问各位老师,用什么命令看驱动产生的设备对象???
Reply Quote
前两天刚讨论你遇到的错误呀:
http://advdbg.org/forums/1203/ShowPost.aspx

IP 地址: 已记录   报告
   2009-02-17, 17:27 下午
WANGyu 离线,最后访问时间: 2012/9/10 3:34:00 王宇

发帖数前10位
男
注册: 2007-05-08
发 贴: 306
Re: 问各位老师,用什么命令看驱动产生的设备对象???
Reply Quote
0: kd> !object \filesystem\ntfs
Object: 89ddce20 Type: (89e63e70) Driver
ObjectHeader: 89ddce08 (old version)
HandleCount: 0 PointerCount: 8
Directory Object: e14f1838 Name: Ntfs

0: kd> dt nt!_driver_object 89ddce20
+0x000 Type : 4
+0x002 Size : 168
+0x004 DeviceObject : 0x89b4d318 _DEVICE_OBJECT
+0x008 Flags : 0x92
+0x00c DriverStart : 0xb9d60000
+0x010 DriverSize : 0x8c600
+0x014 DriverSection : 0x89e65708
+0x018 DriverExtension : 0x89ddcec8 _DRIVER_EXTENSION
+0x01c DriverName : _UNICODE_STRING "\FileSystem\Ntfs"
+0x024 HardwareDatabase : 0x8067e260 _UNICODE_STRING "\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM"
+0x028 FastIoDispatch : 0xb9d7f9a0 _FAST_IO_DISPATCH
+0x02c DriverInit : 0xb9de5384 long Ntfs!GsDriverEntry+0
+0x030 DriverStartIo : (null)
+0x034 DriverUnload : (null)
+0x038 MajorFunction : [28] 0xb9d85e01 long Ntfs!NtfsFsdCreate+0
IP 地址: 已记录   报告
   2009-02-17, 22:30 下午
chenzf 离线,最后访问时间: 2009/8/6 12:38:15 Da Vinci

发帖数前25位
男
注册: 2008-11-03
发 贴: 38
Re: 问各位老师,用什么命令看驱动产生的设备对象???
Reply Quote
张老师,因为我调试的是win7的内核,ntfs我已经用lm t n命令看过了,应该是已经加载了。
上次的帖子我没看到,我的windbg版本是6000,是不是说要用win7 DDK中的windbg版本来调试才能看到驱动的内核对象?
如果是这样,我再装一个win7 DDK试一下。
谢谢张老师解答

IP 地址: 已记录   报告
   2009-02-18, 00:18 上午
MJ0011 离线,最后访问时间: 2009/12/24 22:33:41 MJ0011

发帖数前10位
注册: 2008-04-24
发 贴: 112
Re: 问各位老师,用什么命令看驱动产生的设备对象???
Reply Quote
噢 忘了,ntfs在filesystem目录下~

参考王宇
IP 地址: 已记录   报告
   2009-02-18, 12:43 下午
chenzf 离线,最后访问时间: 2009/8/6 12:38:15 Da Vinci

发帖数前25位
男
注册: 2008-11-03
发 贴: 38
Re: 问各位老师,用什么命令看驱动产生的设备对象???
Reply Quote
加上\filesystem也没有用
应该是张老师说的对,因为版本不同,drvobj依赖内核的

IP 地址: 已记录   报告
高端调试 » 软件调试 » Windows内核调试 » 问各位老师,用什么命令看驱动产生的设备对象???

 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2020 ADVDBG.ORG All Rights Reserved.