windbg遠端除錯方法

2021-07-05 10:58:58 字數 1509 閱讀 9451

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檔案的除錯 在除錯別人的驅動程式時,也就是自己只有...