NTSD详解
ntsd從2000開始就是系統自帶的用戶態調試工具。被調試器附著(attach)的進程會隨調試器一起退出,所以可以用來在命令行下終止進程。使用ntsd自動就獲得了debug權限,從而能殺掉大部分的進程。只有System、SMSS.EXE和CSRSS.EXE不能殺。前兩個是純內核態的,最后那個是Win32子系統,ntsd本身需要它。ntsd會新開一個調試窗口,本來在純命令行下無法控制,但如果只是簡單的命令,比如退出(q),用-c參數從命令行傳遞就行了 
【ntsd -c q -p pid】
如果能知道進程的pid,比如explorer.exe的pid為196,運行cmd后輸入"ntsd -c q -p 136"即可殺掉
【ntsd -c q -pn 進程名】
只要知道了進程的名稱,比如explorer.exe,運行cmd后輸入"ntsd -c q -pn explorer.exe"即可殺掉
但是,如果同一個進程(比如iexplorer.exe)開了多個,就會出現錯誤 
所以,ntsd 每次只能結束一個單獨出現的進程
下面為ntsd的用法和幫助
ntsd
usage: ntsd [-?] [-2] [-d] [-g] [-G] [-myob] [-lines] [-n] [-o] [-s] [-v] [-w]
???????????? [-r BreakErrorLevel]?? [-t PrintErrorLevel]
???????????? [-hd] [-pd] [-pe] [-pt #] [-pv] [-x | -x{e|d|n|i} <event>]
???????????? [-- | -p pid | -pn name | command-line | -z CrashDmpFile]
???????????? [-zp CrashPageFile] [-premote transport] [-robp]
???????????? [-aDllName] [-c "command"] [-i ImagePath] [-y SymbolsPath]
???????????? [-clines #] [-srcpath SourcePath] [-QR \\machine] [-wake <pid>]
???????????? [-remote transport:server=name,portid] [-server transport:portid]
???????????? [-ses] [-sfce] [-sicv] [-snul] [-noio] [-failinc] [-noshell]
以下為翻譯的幫助文件,僅供參考。需要源文件的,直接cmd下ntsd/?就可以了
【command-line】 在dubugger模式下運行
【--】 默認為執行【-G -g -o -p -1 -d -pd】參數
【-aDllName】設置默認的擴展dll
【-c】執行后面的dubugger命令 
【-clines】 number of lines of output history retrieved by a remote client
【-failinc】失敗時產生不完全的符號和模型
【-d】 通過DbgPrint向kernel(核心)發送debugger輸出信息
???? 注: -d?? 不可與debugger remoting同用
????????? -d?? 只能在kernel(核心)debugger 可以用時才能使用
【-g】在debuggee下忽略初始化斷點 
【-G】忽略程序結束時的最終斷點
【-hd】規定debug命令集不能用于(dubuggee)創建的程序。該參數只能作用在Windows Whistler(windows xp的測試版本)系統上 
【-o】 debug所有由debuggee載入的程序
【-p pid】指定要綁定的進程的十進制ID(就是pid)
【-pd】 指定debugger自動與綁定的程序分離
【-pe】 規定任何綁定都要對應一個存在的debug端口
【-pt #】指定中斷超時時間 
【-pv】 指定任何綁定都是封閉的,不對外共享 
【-r】 指定0-3等級的中斷(SeeSetErrorLevel)
【-robp】允許在只讀內存中設置斷點
【-t】 指定顯示0-3級的錯誤(SeeSetErrorLevel) 
【-w】 指定在一個單獨的VDM(DOS虛擬機)中debug 16位應用程序
【-x】 在AV排除項中設置第二個可選斷點 
????? -x{e|d|n|i} <event> 為指定的事件設置中斷狀態 
【-2】 為debuggee創建一個單獨核心的窗口
?
總結
                            
                        - 上一篇: 配置树莓派linux的内核和编译并将镜像
 - 下一篇: 【ROS问题】rqt_plot运行报错