用WinDBG遠端除錯程式
WinDBG的遠端除錯由服務端和客戶端組成,和visual studio類似。 被除錯的機器是服務端(server), 我們做除錯的機器是客戶端(client)。 兩臺機器都需要安裝WinDBG。
第一步, 建立WinDBG server 端。
使用 -server 引數可以使WinDBG 以伺服器方式啟動。 WinDBG可以用多種連線協議讓客戶端連線,比如命名管道(named pipe), 安全管道(secure pipe), TCP 協議(socket), SSL 協議, 串列埠/並口(COM port) 等等。
命名管道
WinDBG.exe –server npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable] [–noio] [Options]
TCP 協議
WinDBG.exe –server tcp:port=Socket[,hidden][,password=Password][,ipversion=6][,IcfEnable] [–noio] [Options]
WinDBG.exe –server tcp:port=Socket,clicon=Client[,password=Password][,ipversion=6] [–noio] [Options]
串列埠/並口
WinDBG.exe –server com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden],password=Password] [–noio] [Options]
安全管道
WinDBG.exe –server spipe:proto=Protocol,certuser=Cert|machuser=Cert},pipe=PipeName[,hidden],password=Password] [–noio] [Options]
SSL 協議
WinDBG.exe –server ssl:proto=Protocol,certuser=Cert|machuser=Cert},port=Socket[,hidden],password=Password] [–noio] [Options]
WinDBG.exe –server ssl:proto=Protocol,certuser=Cert|machuser=Cert},port=Socket,clicon=Client[,password=Password] [–noio] [Options]
示例:
WinDBG.exe –server npipe:pipe=DbgPipe winmine.exe (使用命名管道DbgPipe 建立除錯服務,除錯winmine.exe 程式)
WinDBG.exe -server tcp:port=1025 -p 122 (使用TCP協議,在埠1025建立除錯服務, 除錯機器上程式號為122的程式, 或者說Attach 到122程式進行除錯)
第二步, 用WinDBG client 端連線服務端
使用 -remote 引數可以使WinDBG 以客戶端方式啟動去連線服務端, 可以指定不同的連線方式:
命名管道
WinDBG.exe -remote npipe:server=Server,pipe=PipeName[,password=Password]
TCP 協議
WinDBG.exe -remote tcp:server=Server,port=Socket[,password=Password][,ipversion=6]
WinDBG.exe -remote tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6]
串列埠/並口
WinDBG.exe -remote com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password]
安全管道
WinDBG.exe -remote spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password]
SSL 協議
WinDBG.exe -remote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password]
WinDBG.exe -remote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password]
示例 (假設被除錯的機器名字是dbgPC):
WinDBG.exe-remote npipe:server=dbgPC,pipe=DbgPipe(使用命名管道DbgPipe 建立連線被除錯機器dbgPC)
WinDBG.exe-remote tcp:server=dbgPC,port=1025 (使用TC協議, 連線被除錯機器dbgPC的埠1025)
關於Windows 遠端除錯更多詳細的內容,請參考MSDN http://msdn.microsoft.com/en-us/library/cc266457.aspx
相關文章
- 使用 Eclipse 遠端除錯 Java 應用程式Eclipse除錯Java
- windbg除錯命令除錯
- .NET 5 程式高階除錯-WinDbg高階除錯
- 使用 Eclipse 遠端除錯 Java 應用程式(mark)Eclipse除錯Java
- Pycharm遠端除錯PyCharm除錯
- 前端遠端除錯前端除錯
- chrome 遠端除錯Chrome除錯
- PHPSTROM遠端除錯PHP除錯
- pycharm 遠端除錯配置PyCharm除錯
- Spark 1.5.0 遠端除錯Spark除錯
- Mobile Web 除錯指南(2):遠端除錯Web除錯
- phpstorm 遠端除錯 homstead 程式碼PHPORM除錯
- 智慧小程式檔案館——遠端除錯除錯
- Windbg在應用層除錯漏洞時的應用除錯
- 用 IBM Lotus Expeditor 進行遠端除錯IBM除錯
- 使用Intellij IDEA遠端除錯Spark程式IntelliJIdea除錯Spark
- vsc 如何除錯遠端python程式碼除錯Python
- Dapr 遠端除錯之 Nocalhost除錯
- pycharm 遠端除錯之二PyCharm除錯
- 遠端除錯 Azure Web App除錯WebAPP
- 本地除錯遠端服務除錯
- windbg 常用除錯命令總結除錯
- .NET高階除錯系列-Windbg除錯入門篇高階除錯
- gdb除錯命令小結_與多檔案除錯_遠端除錯除錯
- 智慧小程式檔案館——再談遠端除錯除錯
- 除錯技巧 —— 如何利用windbg + dump + map分析程式異常除錯
- WebStorm遠端除錯Node.jsWebORM除錯Node.js
- vs搭建遠端除錯環境除錯
- IDEA、ECLIPSE遠端除錯IdeaEclipse除錯
- VS 遠端除錯 Azure Web App除錯WebAPP
- java Remote Debug(遠端除錯)JavaREM除錯
- debug技巧之遠端除錯除錯
- windbg 搭建雙擊除錯環境除錯
- VS - 打斷點/本地除錯/遠端除錯 問題斷點除錯
- 遠端除錯在Linux車機中的應用除錯Linux
- windows上通過IDA遠端除錯linux程式Windows除錯Linux
- 一路踩坑,被迫聊聊 C# 程式碼除錯技巧和遠端除錯C#除錯
- Windows windbg kernel debug 雙機核心除錯 - USB3.0 除錯 USB除錯 除錯線Windows除錯