Re: 有个调试初级问题问大家
Windows内核调试
有个调试初级问题问大家
Da Vinci
2008-11-04, 12:33 下午
用ntsd远程调试Vista, 应该怎么设置remote?
windbg和ntsd应该是基于一种设计逻辑的, 以前都是用1394来调, 这样比较快(COM感觉比较慢, 能讲讲原理么).
ntsd全命令行的, 反而不清楚怎么设置remote了. 查了一些文档, 说的也很含糊.
Re: 有个调试初级问题问大家
格蠹老雷
2008-11-04, 22:06 下午
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]
Re: 有个调试初级问题问大家
Coding
2008-11-05, 02:12 上午
用户态的remote调试,VS自带比较好用了,基于网络的,速度好很多。
Re: 有个调试初级问题问大家
Da Vinci
2008-11-05, 09:05 上午
谢Coding老大指教!
Re: 有个调试初级问题问大家
Da Vinci
2008-11-05, 09:08 上午
谢谢Raymond. 我是想用ntsd远程调试Vista的用户程序, 内核程序的话直接用Windbg就很好了.
有时候机器上不一定安装了VS, 所以用自带的Ntsd还是比较方便
谢谢指点
Re: 有个调试初级问题问大家
Coding
2008-11-05, 12:45 下午
不用在目标的Vista机器上装VS,只需要把Microsoft Visual Studio\Common7\IDE\Remote Debugger这个目录拷贝到目标机器上就行了。
还有个窍门是把本地VS编译以后输出EXE文件的目录共享出来,然后在目标的Vista机器上把这个目录映射成为网络磁盘,比如,映射到X盘,那么就在VS里面配置要运行的命令为X:\debug\aa.exe, 这样和本机调试没什么区别了,改了代码,编译,然后就可以直接调试了。