windbg的遠端除錯由服務端和客戶端組成,和visualstudio類似。 被除錯的機器是服務端(server), 我們做除錯的機器是客戶端(client)。 兩台機器都需要安裝windbg。
第一步, 建立
windbg server 端。使用
-server
引數可以使
windbg
以伺服器方式啟動。
windbg
可以用多種連線協議讓客戶端連線,比如命名管道(
named pipe
),安全管道(
secure pipe
),tcp
協議(socket
),ssl
協議,串列埠/並口
(com port)
等等。
第二步, 用
windbg client 端連線服務端使用
-remote
引數可以使
windbg
以客戶端方式啟動去連線服務端,
可以指定不同的連線方式:比如命名管道(
named pipe
),安全管道(
secure pipe
),tcp
協議(socket
),ssl
協議,串列埠/並口
(com port)
等等。
我這裡以
tcp協議為例,用管道或其他我暫時沒有試驗成功。
pc1:被除錯主機
pc2:除錯機客戶端
pc1執行的步驟如下:
1)、執行cmd.exe
2)、進入windbg的安裝目錄
3)、執行以下命令
(1)、windbg–server tcp:port=5005 c:\aa.exe
一般會出現下圖所示介面:
注意紅色部分,如果此時,你輸入g命令,則aa.exe程式正常執行,你將不能除錯程式的初始化流程如(dllmain或main),此時如果用客戶端除錯pc1,則相當於我們平時的attatchprocess的動作。反之,此時,你不做任何事情,直接到pc2上,執行除錯流程,則可以除錯pc1上的aa.exe初始化流程,此時相當於我們在vs裡f5除錯。
(2)、windbg–server tcp:port=5005 –p 1002
這也是一種除錯方法,其中,-p 1002 中的1002是我們想除錯的程序id ,這種除錯模式相當於attatch toprocess的模式,不能除錯dllmain或main函式.
pc2執行的步驟如下:
1)、執行cmd.exe
2)、進入windbg的安裝目錄
3)、執行以下命令
windbg –remote tcp:port=5005,server=192.168.33.11
另外,要注意,pdb檔案一定放置在pc1上面,在pc2的windbg裡設定的符號檔案路徑也一定設定pc1的路徑,否則在pc2的偵錯程式中會出現無法開啟路徑的警告。
以上,親自測試可行,希望對你有幫助。
windbg遠端除錯方法
windbg的遠端除錯由服務端和客戶端組成,和visualstudio類似。被除錯的機器是服務端 server 我們做除錯的機器是客戶端 client 兩台機器都需要安裝windbg。第一步,建立 windbg server 端。使用 server 引數可以使 windbg 以伺服器方式啟動。win...
windbg雙機遠端除錯
1.拷貝要除錯的可執行檔案和對應的pdb符號到虛擬機器。2.在虛擬機器中啟動服務端,有2種方式。windbg.exe server tcp port 8888 c test.exe 這種方式可以除錯main函式和程式的啟動過程。windbg.exe server tcp port 8888 p 10...
Windbg除錯核心驅動方法
一般說來,調速驅動程式分為兩種 1.存在pdb檔案的除錯 這裡的pdb檔案其實就是除錯符號檔案,假如我們除錯的這樣的檔案,我們可以再windbg中使用 bp 驅動名 driverentry,這個時候當載入驅動的時候,程式就會斷在入口了。2.沒有pdb檔案的除錯 在除錯別人的驅動程式時,也就是自己只有...