前言:
有時候咱們Dev(開發人員)須要debug tester(測試人員)或者customer(客戶)的環境,可tester的機器上沒有Code,是否是有點着急? 並且是多版本應用且tester 發現了問題須要咱們去查看的時候, 這個時候怎樣可以第一時間幫助tester 找到問題的緣由呢?
不要着急, 這裏VS給咱們提供了一個很好的功能: Remote Debugger, 下面就好好的來講下這個功能吧. html
使用場景:微信
假設如今有A、B兩臺機器,其中A是Dev的開發server(這裏是在win server環境去開發)裝着Visual Studio以及Code,B機器上是Tester部署着咱們的應用。ide
第一種方式: Windows Authenticationpost
1、在A機器上的Visual Studio安裝目錄下找到Common7\IDE\Remote Debugger文件夾, 並將其Copy到B機器上。以下圖:測試
2、運行B機器上Remote Debugger下與本機向對應的目錄下(x86 or x64 )的msvsmon.exe文件以下圖:(注意以管理員的身份運行msvsmon.exe)ui
Remote Debugger啓動時默認選擇的認證方式就是"Windows Authentication",啓動後咱們能夠看到如上圖所示的一條信息,紅框圈起來的實際上是server name,其中,Administrator是登錄B機器的用戶名稱,TEST28-181是B機器的名稱。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
分類: 工做經驗