|  |  |  |  |  |  | 
					            
						            
							            
								            |  | 
	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: 问各位老师,用什么命令看驱动产生的设备对象??? |  |  
 |  |  |  |