使用VS遠(yuǎn)程調(diào)試其他電腦上安裝的軟件(使用vs遠(yuǎn)程調(diào)試其他電腦上安裝的軟件是什么)

今天在用戶的一臺(tái)機(jī)器上遇到了很奇怪的問(wèn)題。一個(gè)按鈕點(diǎn)擊時(shí)概率性的第一次點(diǎn)擊無(wú)反饋。

因?yàn)槭歉怕市缘?,概率又很低,而?dāng)初在設(shè)計(jì)Log時(shí)又設(shè)計(jì)的是必須重啟軟件才會(huì)生效log開(kāi)關(guān);

所以這里使用當(dāng)時(shí)release編譯出的產(chǎn)物 調(diào)試產(chǎn)物配合遠(yuǎn)程調(diào)試來(lái)跟蹤問(wèn)題。

需要用到的東西:

一、被調(diào)試的機(jī)器安裝Remote Debugger

在VS安裝的電腦里進(jìn)入以下目錄,如果是2017的VS找對(duì)應(yīng)的2017文件夾。我的是Enterprise版本,找對(duì)應(yīng)的文件夾就行。比如preview版本的就找preview等等。32位的程序就拷貝X86的目錄到對(duì)應(yīng)的軟件機(jī)器上,64位的就拷貝x64用于調(diào)試。

目錄如下:

C:Program Files (x86)Microsoft Visual Studio2019EnterpriseCommon7IDERemote Debugger

C:Program Files (x86)Microsoft Visual Studio2019PreviewCommon7IDERemote Debugger

在需要被調(diào)試的機(jī)器上啟動(dòng)目錄下的msvsmon.exe 程序。我保持了默認(rèn)、點(diǎn)擊配置遠(yuǎn)程調(diào)試。并在彈出的UAC中選擇是。

使用VS遠(yuǎn)程調(diào)試其他電腦上安裝的軟件(使用vs遠(yuǎn)程調(diào)試其他電腦上安裝的軟件是什么)

右下角圖標(biāo)通知欄就會(huì)有一個(gè)下圖的圖標(biāo),如果沒(méi)有,在收起來(lái)的圖標(biāo)欄里找一下。這個(gè)就是調(diào)試工具,用于安裝在被調(diào)試的機(jī)器上。

使用VS遠(yuǎn)程調(diào)試其他電腦上安裝的軟件(使用vs遠(yuǎn)程調(diào)試其他電腦上安裝的軟件是什么)

雙擊打開(kāi)調(diào)試器。選擇工具=》選項(xiàng)=》我關(guān)閉了身份驗(yàn)證,選擇無(wú)身份驗(yàn)證,設(shè)置最長(zhǎng)時(shí)間為999999。當(dāng)然您也可以設(shè)置windows 身份驗(yàn)證,但是我調(diào)試時(shí)間比較短,而且只是調(diào)試的時(shí)候打開(kāi)這個(gè)軟件,所以我設(shè)置了無(wú)身份驗(yàn)證,點(diǎn)擊確定。

使用VS遠(yuǎn)程調(diào)試其他電腦上安裝的軟件(使用vs遠(yuǎn)程調(diào)試其他電腦上安裝的軟件是什么)

我是在同一個(gè)局域網(wǎng)之內(nèi)的,如果不是同一個(gè)局域網(wǎng),看是否有外網(wǎng)獨(dú)立IP?;蛘呤褂没ㄉ鷼ぶ?lèi)的轉(zhuǎn)發(fā),也可以。

二、在VS中打開(kāi)對(duì)應(yīng)的代碼并附加遠(yuǎn)程調(diào)試的進(jìn)程。

使用VS遠(yuǎn)程調(diào)試其他電腦上安裝的軟件(使用vs遠(yuǎn)程調(diào)試其他電腦上安裝的軟件是什么)

在對(duì)應(yīng)的代碼工程中,點(diǎn)擊菜單欄中的調(diào)試=》附加到進(jìn)程=》連接目標(biāo)=》查找=》找到下面的1個(gè)連接=》點(diǎn)擊選擇

使用VS遠(yuǎn)程調(diào)試其他電腦上安裝的軟件(使用vs遠(yuǎn)程調(diào)試其他電腦上安裝的軟件是什么)

如果列表中沒(méi)有,請(qǐng)檢查是否在一個(gè)網(wǎng)絡(luò)之內(nèi)。或者是否能訪問(wèn)到這個(gè)機(jī)器。在cmd下用ping的方式驗(yàn)證一下,是否可以連通IP地址。

如果選擇成功之后,進(jìn)程列表就會(huì)刷新,然后選擇你需要調(diào)試的進(jìn)程,點(diǎn)擊附加,如果沒(méi)有你需要的進(jìn)程,請(qǐng)?jiān)谛枰徽{(diào)試的機(jī)器上確認(rèn)是否進(jìn)程存在,然后再調(diào)試的機(jī)器上點(diǎn)擊刷新。找到需要調(diào)試的進(jìn)程,點(diǎn)擊附加按鈕。就可以了。

三、在VS中使用模塊加載添加斷點(diǎn)

PS:VS沒(méi)有運(yùn)行DEBUG是沒(méi)有這個(gè)菜單的

VS附加進(jìn)來(lái)之后。如果沒(méi)有對(duì)應(yīng)版本調(diào)試使用的pdb文件是沒(méi)有辦法打斷電話調(diào)試的。

再運(yùn)行起來(lái)的VS中點(diǎn)擊調(diào)試=》窗口=》模塊,用于附加調(diào)試。

使用VS遠(yuǎn)程調(diào)試其他電腦上安裝的軟件(使用vs遠(yuǎn)程調(diào)試其他電腦上安裝的軟件是什么)

再這個(gè)模塊功能中找到你對(duì)應(yīng)的exe和DLL。然后看符號(hào)狀態(tài),是否是已加載符號(hào),如果不是,則右鍵點(diǎn)擊對(duì)應(yīng)的行,選擇加載符號(hào),選擇代碼對(duì)應(yīng)的pdb文件。一定要注意,代碼和應(yīng)用程序和PDB文件要能對(duì)應(yīng)上,否則沒(méi)有辦法調(diào)試。這個(gè)可以在每次出版本提交代碼的時(shí)候。再SVN或者git上做個(gè)記錄,把pdb產(chǎn)物也提交上去做備份。

使用VS遠(yuǎn)程調(diào)試其他電腦上安裝的軟件(使用vs遠(yuǎn)程調(diào)試其他電腦上安裝的軟件是什么)

通過(guò)以上步驟,就可以正常再你的代碼中增加斷點(diǎn),并且通過(guò)操作調(diào)試?yán)?/span>

聯(lián)系我們
聯(lián)系我們
公眾號(hào)
公眾號(hào)
在線咨詢
分享本頁(yè)
返回頂部