VS 開發工具中的Remote Debug 功能遠程調試程序經驗分享


前言: 
有時候我們Dev(開發人員)需要debug tester(測試人員)或者customer(客戶)的環境,可tester的機器上沒有Code,是不是有點着急? 而且是多版本應用且tester 發現了問題需要我們去查看的時候, 這個時候怎樣能夠第一時間幫助tester 找到問題的原因呢? 

不要着急, 這里VS給我們提供了一個很好的功能: Remote Debugger, 下面就好好的來說下這個功能吧. 

 

使用場景:

假設現在有A、B兩台機器,其中A是Dev的開發server(這里是在win server環境去開發)裝着Visual Studio以及Code,B機器上是Tester部署着我們的應用。

 

第一種方式: Windows Authentication

 

1、在A機器上的Visual Studio安裝目錄下找到Common7\IDE\Remote Debugger文件夾, 並將其Copy到B機器上。如下圖:​

 

2、運行B機器上Remote Debugger下與本機向對應的目錄下(x86  or x64 )的msvsmon.exe文件如下圖:(注意以管理員的身份運行msvsmon.exe)

 

Remote Debugger啟動時默認選擇的認證方式就是"Windows Authentication",啟動后我們可以看到如上圖所示的一條信息,紅框圈起來的其實是server name,其中,Administrator是登陸B機器的用戶名稱,TEST28-181是B機器的名稱。

 

3. 打開Tools > Options菜單項,點擊"Permissions…"按鈕,在彈出的對話框中確認當前用戶有Debug的權限,如下圖:

 

到此需要調試的機器B已經設置完畢。

4、返回到A機器上,在打開的源碼中選擇Debug菜單中的Attach to Process子菜單項,在彈出的對話框中的Qualifier  文本框中輸入Step 3 里的Server name,然后點擊"Refresh"按鈕,選中需要調試的的進程,點擊Attach按鈕,如下圖:​(PS: 因為怕涉及到公司一些東西, 所以圖片中有些地方直接加了馬賽克)

 

5. 這時候返回到B機器上,你會在Remote Debugger中看到一條類似如紅框所示的信息,這說明Remote Debugger已經連上了。

 

剩下的,你就可以像在本機一樣,痛痛快快的debug了,真的是毫無違和感呢。

最后重要的一點:采用Windows Authentication​的話,兩台機器的賬戶名和密碼要是一樣,如果遇到不一致的情況,可以通過新建用戶或者修改密碼的方式來解決。

 

第二種: No Authentication

1、選擇認證方式為“No Authentication”,check “Allow any user to debug”。

 出現一下內容就對了:

2、VS -> DEBUG -> Attach To Process,然后就如下圖進行設置,端口要與Remote Debug Option配置成一樣。

 

 

Refresh之后Avaliable Processes有值並且Debug Monitor會出現xxx connected.

 

 

      OK,Attach To Process之后,就可以隨意的Debug了。

     最后重要的一點:采用No Authentication​的話,兩台機器的防火牆都需要關掉。

 寫在最后: 如果將自己code build 過后的dll 替換到tester 的環境上仍然無法debug 的話, 就要考慮給dll 打強名了, 具體方法: http://www.cnblogs.com/darrenji/p/3654650.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM