針對遠端偵錯進行疑難解答

適用於: Visualstudio

本文介紹 遠端偵錯一些常見問題的疑難解答步驟和解決方案。

若要針對遠端偵錯問題進行疑難解答,第一個步驟是檢查錯誤訊息並進行調查。 訊息可能包含包含詳細信息的連結。

接下來,請先確認應用程式在伺服器上正確執行,然後再嘗試進行偵錯。

否則,以下是最常見的問題和解決方案:

安裝的遠端調試程式版本不正確

針對您在遠端計算機上手動安裝遠端調試程式的案例,請確定已安裝的版本符合您的 Visual Studio 版本。 如需下載遠端調試程式的目前連結,請參閱 遠端調試程式

發行組建會部署到伺服器,而不是偵錯組建

[發佈] 工具和其他一些發佈選項具有您需要設定的個別偵錯組態設定。 (當您在Visual Studio中執行應用程式時,可能會選擇偵錯組建,但這並不表示您已在 server 上安裝偵錯組建。)

您可以附加至遠端應用程式,但無法叫用斷點, (或偵錯符號不會載入)

針對此問題,您可能會看到未 載入符號的訊息

使用 [ 模組] 視窗 來找出模組的符號載入狀態,以及調試程式將哪些模組視為使用者程式代碼或 我的程序代碼

  • [ 符號狀態] 資料 行會指出是否已正確載入模組的符號。
  • [ 使用者程式代碼] 資料行會指出您嘗試偵錯的模組是否分類為 [我的程式代碼]。 如果它不正確地顯示為 [我的程式代碼],您可能已將發行組建部署至伺服器。 發行二進位檔已優化,且永遠不會被視為「我的程式代碼」,因此請停用 Just My Code 或將偵錯組建部署至伺服器。
  • 如果 [使用者程序代碼] 設定正確,但未載入符號,請確認調試程式使用正確的符號檔。 調試程式只會載入符號 (.pdb 檔案,) 與建置應用程式時所建立的 .pdb 檔案完全相符,也就是原始 .pdb 檔案或複製 () 。 針對遠端 Windows 偵錯,預設會在 Visual Studio 計算機上讀取 PDB 檔案,而不是從伺服器讀取。 (不過,msvsmon 具有命令行自變數,可讓 您返回遠端 .pdb 檔案.)

如需詳細資訊,請參閱 針對斷點進行疑難解答

(ASP.NET) 伺服器上執行的 ASP.NET 版本與為您的應用程式設定的版本不同

您可能需要在伺服器或本機計算機上安裝正確版本的 ASP.NET 或 ASP.NET Core。 若要檢查應用程式版本的 ASP.NET,請以滑鼠右鍵按兩下 方案總管 中的項目,然後選擇 [屬性]。 檢查 [建置] 索引標籤。伺服器上的 ASP.NET 組態是案例特有的。 針對 ASP.NET 架構應用程式,您可能需要在web.config檔案中設定 架構 版本。

您在 [附加至行程] 對話框中看不到所需的程式

在某些情況下,您必須手動附加至正確的程式。 如果您針對案例使用 附加至進程 ,但看不到您預期的程式:

  • 如果先前已設定搜尋程序篩選,請檢查是否需要清除它。
  • 取 [顯示所有使用者的行程 ] 以顯示在其他使用者帳戶下執行的進程。
  • 針對緩慢的連線,您可能會想要停用 自動重新整理
  • 如果從預設值變更,[連線 類型 ] 和 [ 附加至字 段] 可能會限制清單中出現的進程。

您未附加至正確的程式

如果您使用附加至進程,請確定您要附加至正確的進程。 如需詳細資訊,請參閱 常見偵錯案例

未開啟必要的埠

在大部分 ASP.NET 安裝程式中,安裝 ASP.NET 和遠端調試程式會開啟必要的埠。 不過,您可能需要確認埠已開啟。 例如,在 Azure VM 案例中,您可能需要開啟 遠端調試程式埠 和伺服器埠 (例如 IIS 使用埠 80) 。

遠端調試程式可能需要提高的許可權

在某些情況下,您可能需要以系統管理員身分執行遠端調試程式。 如需詳細資訊,請 參閱以系統管理員身分執行遠程調試程式