|
|
|
|
|
|
|
Windows内核调试
帖子发起人: Da Vinci 发起时间: 2009-02-16 17:02 下午 回复: 9
|
帖子排序:
|
|
|
|
2009-02-16, 17:02 下午
|
Da Vinci
注册: 2008-11-03
发 贴: 38
|
|
|
windbg调试的时候,想看一个驱动对象所产生的设备对象。但是首先驱动对象就没有找到....用命令!object \driver\驱动名,windbg说没有找到对象。因为找不到驱动对象,所以它产生的设备对象也就没有办法用!devobj命令来看了。 另外,我直接用!devobj \device\harddiskvolume1,为什么也是说没有找到对象呢? 这个设备我用winobj都能看到,为什么用windbg看不到? 到底如何才能察看一个设备对象的结构呢?
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2009-02-17, 00:17 上午
|
格蠹老雷
注册: 2005-12-19
发 贴: 1,303
|
Re: 问各位老师,用什么命令看驱动产生的设备对象???
|
|
|
|
!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 下午
|
Da Vinci
注册: 2008-11-03
发 贴: 38
|
Re: 问各位老师,用什么命令看驱动产生的设备对象???
|
|
|
|
为什么我用!drvobj ntfs,显示:
Driver object (89408000) is for:
89408000: is not a driver object??
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2009-02-17, 14:28 下午
|
MJ0011
注册: 2008-04-24
发 贴: 112
|
Re: 问各位老师,用什么命令看驱动产生的设备对象???
|
|
|
|
需要加上对象路径
!drvobj \Driver\Ntfs
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2009-02-17, 16:43 下午
|
Da Vinci
注册: 2008-11-03
发 贴: 38
|
Re: 问各位老师,用什么命令看驱动产生的设备对象???
|
|
|
|
1: kd> !drvobj \Driver\Ntfs
Driver object \Driver\Ntfs not found
仍然显示这个问题
一直都没找到能列出驱动对象的方法。。。。到底怎么回事啊
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2009-02-17, 17:19 下午
|
格蠹老雷
注册: 2005-12-19
发 贴: 1,303
|
Re: 问各位老师,用什么命令看驱动产生的设备对象???
|
|
|
|
前两天刚讨论你遇到的错误呀:
http://advdbg.org/forums/1203/ShowPost.aspx
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2009-02-17, 17:27 下午
|
王宇
注册: 2007-05-08
发 贴: 306
|
Re: 问各位老师,用什么命令看驱动产生的设备对象???
|
|
|
|
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 下午
|
Da Vinci
注册: 2008-11-03
发 贴: 38
|
Re: 问各位老师,用什么命令看驱动产生的设备对象???
|
|
|
|
张老师,因为我调试的是win7的内核,ntfs我已经用lm t n命令看过了,应该是已经加载了。 上次的帖子我没看到,我的windbg版本是6000,是不是说要用win7 DDK中的windbg版本来调试才能看到驱动的内核对象? 如果是这样,我再装一个win7 DDK试一下。 谢谢张老师解答
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2009-02-18, 00:18 上午
|
MJ0011
注册: 2008-04-24
发 贴: 112
|
Re: 问各位老师,用什么命令看驱动产生的设备对象???
|
|
|
|
噢 忘了,ntfs在filesystem目录下~
参考王宇
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
2009-02-18, 12:43 下午
|
Da Vinci
注册: 2008-11-03
发 贴: 38
|
Re: 问各位老师,用什么命令看驱动产生的设备对象???
|
|
|
|
加上\filesystem也没有用 应该是张老师说的对,因为版本不同,drvobj依赖内核的
|
|
|
IP 地址: 已记录
|
报告
|
|
|
|
高端调试 » 软件调试 » Windows内核调试 » Re: 问各位老师,用什么命令看驱动产生的设备对象???
|
|
|
|
|
|