  | 
					  | 
					  |  
					
					
	
    
 | 
                  
                    | 
                    | 					
				  
				            
					            
						            
							            
								            | 
									            
								             | 
            								
								            
									            
	老专家如何破解新问题
	帖子发起人: 土豆泥   发起时间: 2006-06-01 21:51 下午   回复: 6
	
	
 
 
	 
		
			
				
					
						
							
							   
							
   
							
							
						 | 
						
						    
						      
						        | 
							          帖子排序: 
							            
						         | 
						        
							          
							          
						         | 
						       
						     
						 | 
					 
				 
			 | 
		 
	 
	
			
				
					
						
							
								
									
										
											
												
												 
                            2006-06-01, 21:51 下午
                        
											 | 
										 
										
											
												
													 
													
														土豆泥
													
													
														 
														
  
														 注册: 2006-04-07
														
														 发 贴: 59
														
													
											  | 
											
												
												
											 | 
										 
										
											
												
													
														
															 
														 | 
														
															
																
																	| 
																		
 在XP及以前的Windows,产生一个蓝屏可以说是信手拈来,可以Kill掉CSRSS、LSASS等任一个系统进程,或者使用WinDbg的本地内核调试。 
到了Vista,尝试Kill,得到权限不够的错误。尝试本地内核调试,不再支持了!!! 
略微思考一下,通过Run as administrator启动cmd窗口,然后再用kill命令就成了。但是本地内核调试到底支持与否还有待考证。 
  
																		 
																	 | 
																 
															 
														 | 
													 
													
														| 
															
														 | 
														
															IP 地址: 已记录  
														 | 
														
															报告
														 | 
													 
												 
											 | 
										 
									 
								 | 
							 
						 
					 | 
				 
			 
		
			
				
					
						
							
								
									
										
											
												
												 
                            2008-07-29, 20:40 下午
                        
											 | 
										 
										
											
												
													 
													
														skyworth
													
													
														 
														
  
														 注册: 2008-06-07
														
														 发 贴: 55
														
													
												 
											 | 
											
												
												
											 | 
										 
										
											
												
													
														
															 
														 | 
														
															
														 | 
													 
													
														| 
															
														 | 
														
															IP 地址: 已记录  
														 | 
														
															报告
														 | 
													 
												 
											 | 
										 
									 
								 | 
							 
						 
					 | 
				 
			 
		
			
				
					
						
							
								
									
										
											
												
												 
                            2008-07-29, 20:41 下午
                        
											 | 
										 
										
											
												
													 
													
														skyworth
													
													
														 
														
  
														 注册: 2008-06-07
														
														 发 贴: 55
														
													
											  | 
											
												
												
											 | 
										 
										
											
												
													
														
															 
														 | 
														
															
																
																	
																		
然后Sysinternals Suite的Winobj在我的机器上每次启动必挂,哇咔咔,想调试一下看看什么原因,居然虚拟内存不足,缺页。。。。。。
																		 
																	 | 
																 
															 
														 | 
													 
													
														| 
															
														 | 
														
															IP 地址: 已记录  
														 | 
														
															报告
														 | 
													 
												 
											 | 
										 
									 
								 | 
							 
						 
					 | 
				 
			 
		
			
				
					
						
							
								
									
										
											
												
												 
                            2008-07-30, 08:41 上午
                        
											 | 
										 
										
											
												
													 
													
														王宇
													
													
														 
														
  
  
														 注册: 2007-05-08
														
														 发 贴: 306
														
													
												 
											 | 
											
												
												
											 | 
										 
										
											
												
													
														
															 
														 | 
														
															
																
																	
																		
我觉得比较有趣的蓝屏触发代码是:
 
 __asm  lock nop
 
 或者 lock sti 等等。
 
 关于它的原理十分值得讨论,这牵涉到同步、地址交换操作、多核安全等诸多问题,说白了就是 Intel 手册第七章。
 
 另 WinOBJ 蓝什么原因?传个 dump 我看看?
																		 
																	 | 
																 
															 
														 | 
													 
													
														| 
															
														 | 
														
															IP 地址: 已记录  
														 | 
														
															报告
														 | 
													 
												 
											 | 
										 
									 
								 | 
							 
						 
					 | 
				 
			 
		
			
				
					
						
							
								
									
										
											
												
												 
                            2008-08-01, 09:43 上午
                        
											 | 
										 
										
											
												
													 
													
														小喂
													
													
														 
														
  
														 注册: 2008-04-05
														
														 发 贴: 12
														
													
											  | 
											
												
												
											 | 
										 
										
											
												
													
														
															 
														 | 
														
															
																
																	
																		
  tudouni wrote: |  在XP及以前的Windows,产生一个蓝屏可以说是信手拈来,可以Kill掉CSRSS、LSASS等任一个系统进程,或者使用WinDbg的本地内核调试。 
到了Vista,尝试Kill,得到权限不够的错误。尝试本地内核调试,不再支持了!!! 
略微思考一下,通过Run as administrator启动cmd窗口,然后再用kill命令就成了。但是本地内核调试到底支持与否还有待考证。 
   |  
  |  
 
  vista 上的本机内核调试,可以试试我写的 vistalkd 工具。呵呵! http://hi.baidu.com/xiaoweitech/blog/item/2a344ddd735aa2315982dd58.html 
																		 
																	 | 
																 
															 
														 | 
													 
													
														| 
															
														 | 
														
															IP 地址: 已记录  
														 | 
														
															报告
														 | 
													 
												 
											 | 
										 
									 
								 | 
							 
						 
					 | 
				 
			 
		
			
				
					
						
							
								
									
										
											
												
												 
                            2008-08-01, 23:51 下午
                        
											 | 
										 
										
											
												
													 
													
														skyworth
													
													
														 
														
  
														 注册: 2008-06-07
														
														 发 贴: 55
														
													
												 
											 | 
											
												
												
											 | 
										 
										
											
												
													
														
															 
														 | 
														
															
																
																	
																		
我试试看吧,Mini Dump关键页缺失, Full Dump又太大。
																		 
																	 | 
																 
															 
														 | 
													 
													
														| 
															
														 | 
														
															IP 地址: 已记录  
														 | 
														
															报告
														 | 
													 
												 
											 | 
										 
									 
								 | 
							 
						 
					 | 
				 
			 
		
			
				
					
						
							
								
									
										
											
												
												 
                            2008-08-02, 00:10 上午
                        
											 | 
										 
										
											
												
													 
													
														skyworth
													
													
														 
														
  
														 注册: 2008-06-07
														
														 发 贴: 55
														
													
											  | 
											
												
												
											 | 
										 
										
											
												
													
														
															 
														 | 
														
															
																
																	
																		
先看看Windbg的CrashDump analyze report。
 
 Microsoft (R) Windows Debugger Version 6.9.0003.113 X86
 Copyright (c) Microsoft Corporation. All rights reserved.
 
 
 Loading Dump File [C:\WINDOWS\Minidump\Mini080208-01.dmp]
 Mini Kernel Dump File: Only registers and stack trace are available
 
 Symbol search path is: srv*D:\SymbolsCache*http://msdl.microsoft.com/download/symbols
 Executable search path is: 
 Windows Server 2003 Kernel Version 3790 (Service Pack 2) MP (2 procs) Free x86 compatible
 Product: Server, suite: Enterprise TerminalServer SingleUserTS
 Built by: 3790.srv03_sp2_gdr.070304-2240
 Kernel base = 0x80800000 PsLoadedModuleList = 0x808a6ea8
 Debug session time: Sat Aug  2 00:00:21.375 2008 (GMT+8)
 System Uptime: 0 days 4:17:15.116
 Loading Kernel Symbols
 ..............................................................................................................
 Loading User Symbols
 Loading unloaded module list
 ...............
 *******************************************************************************
 *                                                                             *
 *                        Bugcheck Analysis                                    *
 *                                                                             *
 *******************************************************************************
 
 Use !analyze -v to get detailed debugging information.
 
 BugCheck 1000008E, {c0000005, 809366d2, b84b633c, 0}
 
 Probably caused by : ntkrpamp.exe ( nt!NtQueryDirectoryObject+1a2 )
 
 Followup: MachineOwner
 ---------
 
 1: kd> !analyze -v
 *******************************************************************************
 *                                                                             *
 *                        Bugcheck Analysis                                    *
 *                                                                             *
 *******************************************************************************
 
 KERNEL_MODE_EXCEPTION_NOT_HANDLED_M (1000008e)
 This is a very common bugcheck.  Usually the exception address pinpoints
 the driver/function that caused the problem.  Always note this address
 as well as the link date of the driver/image that contains this address.
 Some common problems are exception code 0x80000003.  This means a hard
 coded breakpoint or assertion was hit, but this system was booted
 /NODEBUG.  This is not supposed to happen as developers should never have
 hardcoded breakpoints in retail code, but ...
 If this happens, make sure a debugger gets connected, and the
 system is booted /DEBUG.  This will let us see why this breakpoint is
 happening.
 Arguments:
 Arg1: c0000005, The exception code that was not handled
 Arg2: 809366d2, The address that the exception occurred at
 Arg3: b84b633c, Trap Frame
 Arg4: 00000000
 
 Debugging Details:
 ------------------
 
 
 EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - "0x%08lx"
 
 FAULTING_IP: 
 nt!NtQueryDirectoryObject+1a2
 809366d2 8a460c          mov     al,byte ptr [esi+0Ch]
 
 TRAP_FRAME:  b84b633c -- (.trap 0xffffffffb84b633c)
 ErrCode = 00000000
 eax=00000001 ebx=e5659008 ecx=0000000e edx=00000011 esi=10ec83d4 edi=f7728820
 eip=809366d2 esp=b84b63b0 ebp=b84b6430 iopl=0         nv up ei pl nz na pe nc
 cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010206
 nt!NtQueryDirectoryObject+0x1a2:
 809366d2 8a460c          mov     al,byte ptr [esi+0Ch]      ds:0023:10ec83e0=??
 Resetting default scope
 
 CUSTOMER_CRASH_COUNT:  1
 
 DEFAULT_BUCKET_ID:  DRIVER_FAULT_SERVER_MINIDUMP
 
 BUGCHECK_STR:  0x8E
 
 PROCESS_NAME:  Winobj.exe
 
 CURRENT_IRQL:  0
 
 LAST_CONTROL_TRANSFER:  from 8088978c to 809366d2
 
 STACK_TEXT:  
 b84b6430 8088978c 0000011c 0012dc04 00000800 nt!NtQueryDirectoryObject+0x1a2
 b84b6430 7c9585ec 0000011c 0012dc04 00000800 nt!KiFastCallEntry+0xfc
 WARNING: Frame IP not in any known module. Following frames may be wrong.
 001788e8 00000000 00000000 00000000 00000000 0x7c9585ec
 
 
 STACK_COMMAND:  kb
 
 FOLLOWUP_IP: 
 nt!NtQueryDirectoryObject+1a2
 809366d2 8a460c          mov     al,byte ptr [esi+0Ch]
 
 SYMBOL_STACK_INDEX:  0
 
 SYMBOL_NAME:  nt!NtQueryDirectoryObject+1a2
 
 FOLLOWUP_NAME:  MachineOwner
 
 MODULE_NAME: nt
 
 IMAGE_NAME:  ntkrpamp.exe
 
 DEBUG_FLR_IMAGE_TIMESTAMP:  45ec0a19
 
 FAILURE_BUCKET_ID:  0x8E_nt!NtQueryDirectoryObject+1a2
 
 BUCKET_ID:  0x8E_nt!NtQueryDirectoryObject+1a2
 
 Followup: MachineOwner
 ---------
 
 看上去好像是系统内核模块里面有一个hard code的断点在里面,但是系统不是以调试模式启动的。
 另外,给我你的邮件地址,我给你一个mini dump。
																		 
																	 | 
																 
															 
														 | 
													 
													
														| 
															
														 | 
														
															IP 地址: 已记录  
														 | 
														
															报告
														 | 
													 
												 
											 | 
										 
									 
								 | 
							 
						 
					 | 
				 
			 
		
	
	
		
			| 
				高端调试 » Windows Vista » 老专家如何破解新问题 » Re: 有意触发蓝屏
			 | 
			
				
			 | 
		 
	 
	
 
								             | 
                                              | 					
								            
									            
								             | 
							             
						             
					             
				             
			          
                     |