使用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中選擇是。
右下角圖標(biāo)通知欄就會(huì)有一個(gè)下圖的圖標(biāo),如果沒(méi)有,在收起來(lái)的圖標(biāo)欄里找一下。這個(gè)就是調(diào)試工具,用于安裝在被調(diào)試的機(jī)器上。
雙擊打開(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)擊確定。
我是在同一個(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)程。
在對(duì)應(yīng)的代碼工程中,點(diǎn)擊菜單欄中的調(diào)試=》附加到進(jìn)程=》連接目標(biāo)=》查找=》找到下面的1個(gè)連接=》點(diǎn)擊選擇
如果列表中沒(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)試。
再這個(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)物也提交上去做備份。
通過(guò)以上步驟,就可以正常再你的代碼中增加斷點(diǎn),并且通過(guò)操作調(diào)試?yán)?/span>