|  |  |  |  |  |  | 
					            
						            
							            
								            |  | 
	Windows内核调试帖子发起人: Da Vinci   发起时间: 2008-11-04 12:33 下午   回复: 5
 
	 
		
			| 
					
						|         | 
						      
						        | 帖子排序: |  |  |  |  
				
					| 
							
								| 
										
											|  2008-11-04, 12:33 下午 |  
											| 
													 Da Vinci 
 
  
   注册: 2008-11-03
 发 贴: 38
 |  |  
											| 
													
														|   | 
																
																	| 用ntsd远程调试Vista, 应该怎么设置remote? windbg和ntsd应该是基于一种设计逻辑的, 以前都是用1394来调, 这样比较快(COM感觉比较慢, 能讲讲原理么).
 ntsd全命令行的, 反而不清楚怎么设置remote了. 查了一些文档, 说的也很含糊.
 
 |  |  
														|  | IP 地址: 已记录 | 报告 |  |  |  |  
				
					| 
							
								| 
										
											|  2008-11-04, 22:06 下午 |  
											| 
													 格蠹老雷 
 
   注册: 2005-12-19
 发 贴: 1,303
 |  |  
											| 
													
														|   | 
																
																	| NTSD是用户态调试器,它只能调试用户态的程序。在严格意义上的WinDBG程序出现前,KD用来做内核调试,NTSD用来做用户态调试。WinDBG是NTSD和KD的Hybrid,既能做用户态调试,又能做内核态调试。 你所说的用NTSD远程调试Vista,是调试Vista中的应用程序么?如果是,那么可以用ntsd -remote再加上具体的连接参数。
 ntsd -remote npipe:server=Server,pipe=PipeName[,password=Password]
 
 ntsd -remote tcp:server=Server,port=Socket[,password=Password][,ipversion=6]
 
 ntsd -remote tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6]
 
 ntsd -remote com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password]
 
 ntsd -remote spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password]
 
 ntsd -remote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password]
 
 ntsd -remote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password]
 
 
 
 
 
 
 |  |  
														|  | IP 地址: 已记录 | 报告 |  |  |  |  
				
					| 
							
								| 
										
											|  2008-11-05, 02:12 上午 |  
											| 
													 Coding 
 
   注册: 2008-05-31
 发 贴: 103
 |  |  
											| 
													
														|   | 
																
																	| 用户态的remote调试,VS自带比较好用了,基于网络的,速度好很多。 
 |  |  
														|  | IP 地址: 已记录 | 报告 |  |  |  |  
				
					| 
							
								| 
										
											|  2008-11-05, 09:05 上午 |  
											| 
													 Da Vinci 
 
  
   注册: 2008-11-03
 发 贴: 38
 |  |  
											| 
													
														|   |  |  
														|  | IP 地址: 已记录 | 报告 |  |  |  |  
				
					| 
							
								| 
										
											|  2008-11-05, 09:08 上午 |  
											| 
													 Da Vinci 
 
  
   注册: 2008-11-03
 发 贴: 38
 |  |  
											| 
													
														|   | 
																
																	| 谢谢Raymond. 我是想用ntsd远程调试Vista的用户程序, 内核程序的话直接用Windbg就很好了. 有时候机器上不一定安装了VS, 所以用自带的Ntsd还是比较方便
 谢谢指点
 
 |  |  
														|  | IP 地址: 已记录 | 报告 |  |  |  |  
				
					| 
							
								| 
										
											|  2008-11-05, 12:45 下午 |  
											| 
													 Coding 
 
   注册: 2008-05-31
 发 贴: 103
 |  |  
											| 
													
														|   | 
																
																	| 不用在目标的Vista机器上装VS,只需要把Microsoft Visual Studio\Common7\IDE\Remote Debugger这个目录拷贝到目标机器上就行了。 
 还有个窍门是把本地VS编译以后输出EXE文件的目录共享出来,然后在目标的Vista机器上把这个目录映射成为网络磁盘,比如,映射到X盘,那么就在VS里面配置要运行的命令为X:\debug\aa.exe, 这样和本机调试没什么区别了,改了代码,编译,然后就可以直接调试了。
 
 |  |  
														|  | IP 地址: 已记录 | 报告 |  |  |  |  
		
			| 高端调试 » 软件调试 » Windows内核调试 » Re: 有个调试初级问题问大家 |  |  
 |  |  |  |