开发机器上利用vs2013调试远程IIS上的c#程序
當遠程IIS上的C#程序出現問題,怎么排錯,一般我們通過看日志排查錯誤的方法,這種方法在程序異常日志都打印出來的情況下是可以解決的,但如果程序日志不詳細,或者從日志看不出有用的內容的時候怎么排錯?
本文介紹通過vs2013的msvsmon.exe來遠程調試IIS上的C#程序,感謝劉慧鋒提供的幫助。
環境:
IIS:10.10.2.142,機器名:WEBAPIL2
開發機IP:10.10.0.60 ,機器名:LIURENYUAN-DEV
目的:通過10.10.0.60去調試10.10.2.142上的IIS的C#程序
步驟:
1.在vs2013的安裝目錄查找msvsmon.exe,注意有兩個msvsmon.exe,一個是x86的,一個是x64的,本文使用x64的,
路徑:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Remote Debugger\x64\msvsmon.exe
如下圖:
?
2. 共享x64目錄,以便遠程的IIS機器上可以執行該目錄下的msvsmon.exe,如下圖:
3.然后我們在10.10.2.142上去查看,能否找到這個共享目錄,因為我們要在10.10.2.142上訪問這個共享目錄下的msvsmon.exe,從10.10.2.142訪問需要輸入10.10.0.60上的用戶名稱密碼才能訪問,如下圖:
4.在10.10.2.142上打開x64共享目錄,如下圖:
5.雙擊上圖中共享目錄x64下的msvsmon.exe,如下圖:
6.點擊上圖中的tools-options,彈出如下圖,勾選如下圖中的內容,然后點ok.
點擊ok后如下圖:
7.關閉10.10.2.142上的防火墻,如下圖:
8.查看10.10.2.142上的版本,開發機vs2013上的代碼版本須保持與10.10.2.142上的一致,如下圖:
9.更新開發機器10.10.0.60上的代碼與10.10.2.142上的版本一致,如下圖所示。
10.代碼更新一致后,開發機器10.10.0.60上的vs2013重新生成解決方案,如下圖:
11.開發機10.0.0.60上的vs2013上點菜單上的調試→附加到進程 ,然后在彈出的對話框中的”傳輸“后面下拉框中選擇遠程(無身份驗證),再點擊查找,可以找到我們的遠程IIS,遠程調試端口為4018,如下圖:
12.點擊上圖中的選擇,會列出10.10.2.142上的所有進程,我們選擇10.10.2.142上的w3wp.exe進程,然后選擇附加 ,如下圖:
13.然后可以看到vs2013已經處于高度狀態,如下圖:
14.接下來我們用vs2013在登錄接口getPublicKey上設置一個斷點,然后用開發機的瀏覽器登錄10.10.2.142,然后看vs2013里的斷點能否停住,如下圖:
上圖中的getPublicKey處于pending狀態,再看后臺的斷點已經停住了,如下圖:
?
至此,通過vs2013的msvsmon.exe調試遠程IIS上的C#程序就已經成功了。
此方法可以利用開發機上的vs2013一步一步的調試遠程機器上的IIS的程序,所以可以精確定位到錯誤的源頭,所以對開發排錯肯定有所幫助。
?
轉載于:https://www.cnblogs.com/Griffin/p/6380644.html
總結
以上是生活随笔為你收集整理的开发机器上利用vs2013调试远程IIS上的c#程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP-7.1 源代码学习:字节码在 Z
- 下一篇: BZOJ1085 [SCOI2005]