[Reomting Debug] 巧用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
轉載于:https://www.cnblogs.com/wang-meng/p/5119094.html
總結
以上是生活随笔為你收集整理的[Reomting Debug] 巧用VS 的remote debug 功能远程调试程序 经验分享.的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: word的修订功能是什么?
- 下一篇: 大家来聊聊如何PASS 360