用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 應用程式(mark)Eclipse除錯Java
- .NET 5 程式高階除錯-WinDbg高階除錯
- phpstorm 遠端除錯 homstead 程式碼PHPORM除錯
- 使用Intellij IDEA遠端除錯Spark程式IntelliJIdea除錯Spark
- vsc 如何除錯遠端python程式碼除錯Python
- Pycharm遠端除錯PyCharm除錯
- PHPSTROM遠端除錯PHP除錯
- 智慧小程式檔案館——遠端除錯除錯
- IDEA、ECLIPSE遠端除錯IdeaEclipse除錯
- windbg 常用除錯命令總結除錯
- windows上通過IDA遠端除錯linux程式Windows除錯Linux
- .NET高階除錯系列-Windbg除錯入門篇高階除錯
- pycharm 遠端除錯之二PyCharm除錯
- Xdebug+PhpStorm 遠端除錯PHPORM除錯
- debug技巧之遠端除錯除錯
- 本地除錯遠端服務除錯
- vscode遠端除錯c++VSCode除錯C++
- 使用IDEA遠端debug除錯Idea除錯
- Dapr 遠端除錯之 Nocalhost除錯
- windbg 搭建雙擊除錯環境除錯
- 遠端除錯在Linux車機中的應用除錯Linux
- 智慧小程式檔案館——再談遠端除錯除錯
- Windows windbg kernel debug 雙機核心除錯 - USB3.0 除錯 USB除錯 除錯線Windows除錯
- VS - 打斷點/本地除錯/遠端除錯 問題斷點除錯
- [原] 在 PhpStorm 中使用 Xdebug 遠端除錯 PHP 程式(框架/原生均適用)PHPORM除錯框架
- WebStorm遠端除錯Node.jsWebORM除錯Node.js
- Homestead+PhpStorm+Xdebug 遠端除錯PHPORM除錯
- 使用IDEA進行遠端除錯Idea除錯
- 使用Xdebug進行遠端除錯除錯
- vs搭建遠端除錯環境除錯
- 一路踩坑,被迫聊聊 C# 程式碼除錯技巧和遠端除錯C#除錯
- Idea進行java應用的遠端除錯Remote debuggingIdeaJava除錯REM
- 遠端除錯伺服器python程式碼解決方案除錯伺服器Python
- vscode配置遠端linux系統除錯VSCodeLinux除錯
- 基於 Scrcpy 的遠端除錯方案除錯
- Pycharm同步遠端伺服器除錯PyCharm伺服器除錯
- 遠端除錯 Android 裝置網頁除錯Android網頁
- IntelliJ IDEA遠端除錯Elasticsearch6.1.2IntelliJIdea除錯Elasticsearch
- windows系統vscode遠端除錯MySQLWindowsVSCode除錯MySql