標籤:http io os 使用 strong sp 問題 on c
項目部署到產品環境後,難免會發生一些故障,有一些可以在本地測試環境中直接重現,而有一些則無法重現。對於可以在本地測試環境中重現的Bug,開發人員往往能夠很迅速地進行問題排查。而對於無法重現的Bug,就沒這麼容易了。
Visual Studio 中提供了遠端偵錯的功能,可以協助我們進行遠端偵錯。
準備環境
1. 本機安裝 Visual Studio(,這裡用 Visual Studio 2012 進行示範)。
2. 您的 Asp.Net 項目原始碼,同時確保遠程伺服器上使用的正是由該源碼編譯產生的(Debug、Release 版本都行)。
調試步驟
1. 複製 Microsoft Visual Studio / Visual Studio Tools / Remote Debugger Folder 目錄中對應的調試版本到遠程伺服器。
找到 Remote Debugger Folder
根據伺服器,選擇對應的版本
把工具複製到遠程伺服器
2. 在遠程伺服器運行 msvsmon.exe。
預設的調試選項使用的是 Windows 驗證,也就是說當一台機器遠端連線到伺服器的時候,需要輸入登入遠程伺服器時所用的使用者名稱和密碼,只有驗證通過才能允許調試,否則無法串連。
在伺服器上運行 msvsmon.exe
啟動後,會顯示如下對話方塊
如果不想進行使用者名稱密碼的驗證,則必須設定身分識別驗證模式為 “無身分識別驗證”。
選擇 “工具” / “選項”
選擇 “無身分識別驗證”,同時勾選 “允許任何使用者進行調試”
3. 在用管理員賬戶運行 Visual Studio,開啟 調試 / 附加到進程。
點擊 “附加到進程”
3.1 遠程伺服器採用 “Windows 身分識別驗證”
選擇 “傳輸” 為 “預設值”,在 “限定符” 中輸入遠程伺服器的 IP:連接埠號碼,斷行符號。
此時會跳出登入框,填寫伺服器授權的使用者名稱和密碼。
輸入使用者名稱和密碼
選擇 Asp.Net 項目所在的進程,點擊 “附加”。如果沒有找到進程,請勾選 “顯示所有使用者進程”。
選擇對應的進程進行附加
伺服器端會看到 “xxx已串連” 字樣
3.2 遠程伺服器採用 “無身分識別驗證”
選擇 “傳輸” 為 “遠程(無身分識別驗證)”,在 “限定符” 中輸入遠程伺服器的 IP:連接埠號碼,斷行符號。
選擇 Asp.Net 項目所在的進程,點擊 “附加”。如果沒有找到進程,請勾選 “顯示所有使用者進程”。
4. 附加到遠程進程後,就可以像本地代碼一樣設定斷點,進行調試了。
遠端偵錯 Asp.Net 項目