[Reomting Debug] 巧用VS 的remote debug 功能遠程調試程序 經驗分享.


[Reomting Debug] 巧用VS 的remote debug 功能遠程調試程序 經驗分享.

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

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

 

使用場景:微信

假設如今有AB兩臺機器,其中ADev的開發server(這裏是在win server環境去開發)裝着Visual Studio以及CodeB機器上是Tester部署着咱們的應用ide

 

第一種方式: Windows Authenticationpost

 

1、在A機器上的Visual Studio安裝目錄下找到Common7\IDE\Remote Debugger文件夾並將其CopyB機器上。以下圖:測試

 

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

 

Remote Debugger啓動時默認選擇的認證方式就是"Windows Authentication",啓動後咱們能夠看到如上圖所示的一條信息,紅框圈起來的實際上是server name,其中,Administrator是登錄B機器的用戶名稱,TEST28-181B機器的名稱。url

 

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

 

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

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

 

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

 

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

最後重要的一點:採用Windows Authentication的話,兩臺機器的帳戶名和密碼要是同樣,若是遇到不一致的狀況,能夠經過新建用戶或者修改密碼的方式來解決。

 

第二種: No Authentication

一、選擇認證方式爲「No Authentication」,check 「Allow any user to debug」。

 出現一下內容就對了:

二、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

分類: 工做經驗

好文要頂 關注我 收藏該文  

一枝花算不算浪漫

相關文章
相關標籤/搜索