2013-08-01 169 views
2

我試圖遠程調試安裝在客戶端的Windows Server 2012中的ASP .net應用程序。我在遠程計算機上安裝了遠程調試器,並以管理員模式運行它。 (即使在)Microsoft instructions之後,我遇到了嚴重的錯誤 - 其中大部分都是配置錯誤,在說明中沒有詳細說明(或忽略)。Visual Studio 2012中的遠程調試

經過所有的設置障礙,我設法附加進程W3WP.EXE,但我無法調試遠程應用程序。

調試了標準的警告 - 無符號已加載這個文件

(我試圖複製.pdb文件到遠程機器 - 確保在本地複製和遠程複製的版本是一樣的)。

我錯過了任何步驟?詳細的步驟將有所幫助。

回答

2

考慮以下情況:

我們有一個客戶端計算機上部署Web應用程序和客戶端報告的錯誤。然後我們嘗試在我們的本地環境(代碼存在的地方)複製問題,但無法成功。現在有兩種方法來調試客戶端安裝 - 無論是通過日誌文件還是通過visual studio調試模式。如果我們的日誌記錄不詳細,我們會在進行故障排除時做惡夢。另一種選擇是在服務器機器上安裝visual studio(這不是一個好主意)。

要解決這個遠程調試問題,我們可以使用一個叫做遠程調試監視器(MSVSMON.EXE)的小工具。它允許您從運行Visual Studio的另一臺計算機(本地開發環境)運行,調試和測試在一臺設備(客戶端計算機)上運行的應用程序。

預要件:

  1. 遠程設備和在Visual Studio計算機必須通過網絡連接或直接通過以太網電纜連接。通過互聯網調試不受支持。

  2. 遠程設備必須運行遠程調試組件。

  3. 您必須是管理員才能在遠程設備上安裝遠程調試器。要與遠程調試器通信,您必須擁有對遠程設備的用戶訪問權限。

安裝:

  1. 下載從Microsoft download center的Visual Studio遠程調試安裝程序。運行與遠程設備上的操作系統(x86,x64,ARM)相匹配的安裝程序(客戶端計算機 - 記住您需要管理員訪問權限才能安裝此程序)。
  2. 第一次安裝並啓動遠程調試器 - 出現配置遠程調試對話框
  3. 如果未安裝Windows服務API,請選擇安裝按鈕。
  4. 選擇您希望遠程調試器與之通信的網絡類型。至少必須選擇一種網絡類型。
  5. 要更改認證模式或爲遠程調試器指定超時值,請在遠程調試監視器上選擇選項工具菜單。
    )您可以選擇在無身份驗證模式下運行遠程調試器,但強烈建議不要使用此模式。在此模式下運行時沒有網絡安全性。只有在確信網絡是不存在惡意或敵意交通風險
  6. 默認情況下,遠程設備的管理員可以連接到遠程調試器。要授予或拒絕其他用戶使用遠程調試器的權限,請選擇權限上的工具菜單。

說明:

  1. 之前連接到客戶端機器,首先啓動客戶端PC上的工作進程。要啓動工作進程,您需要運行該應用程序,IIS將完成剩下的工作。

  2. 一旦啓動,打開Visual Studio的實例,其中的原代碼的開發,並導航到調試 - >附加到進程

  3. 默認情況下此列出在本地機器上運行的進程。

  4. 要連接到遠程服務器的進程,請在限定符字段(可編輯字段)中輸入機器名稱。這個細節可以從遠程調試監視器獲得。它將一次顯示帶有端口號的機器名稱遠程調試監視器(MSVSMON.EXE)已啓動。

  5. 如果您要訪問域外的遠程調試監視器,它將提示進行身份驗證。授權基於在遠程調試監視器中配置的權限(在前面討論的權限設置下)。

  6. 連接後,我們可以附加到調試應用程序所需的過程。在這種情況下,要調試ASP.Net應用程序,我們已連接到遠程計算機的W3WP.exe(客戶端安裝)。

  7. 現在Visual Studio調試將按照預期從本地計算機(開發環境)工作。對於需要更高權限的進程,您需要在遠程計算機上以管理員身份運行遠程調試監視器(MSVSMON.EXE)。

故障排除:

有時即使你安裝正確的過程中,VS調試模式不檢測的過程。這可能是由於以下原因之一:

•確保將使用程序集生成的.PDB文件複製到遠程計算機上的同一文件夾中。這將允許調試器拿起調試符號。

•確保您使用的是MSVSMON.exe的正確版本 - 64位版本用於調試64位C#應用程序 - 無法與x86應用程序實例一起使用。

參考文獻:這個程序的 部分從Microsoft instructionsblog poststack overflow discussion服用。

+0

我的問題是,我的機器都是我的Visual Studio上項目在D:驅動器上,而服務器只有C:驅動器+我正在開發ASP.NET網站。我解決這個問題的方法是去 - >項目屬性 - >生成 - >輸出路徑 - > c:\ inetpub \ wwwroot \ mysite \ bin。這樣,.pdb路徑在我的開發機器和服務器上都變得相同。 – kape123

+1

要添加的一件事是Debug |選項|調試|一般|請點擊「要求源文件」以與原始版本完全匹配。我的2美分 –

+0

這個答案並沒有真正解決我腦海中的原始問題。 – Ted

3

的一個步驟未明確記載的是,在遠程應用程序web.config文件,編譯調試必須設置爲true:

<system.web> 
    <compilation targetFramework="4.5" debug="true"> 
    ...