針對遠端偵錯進行疑難解答
適用於: Visual Studio
本文介紹遠端偵錯一些常見問題的疑難解答步驟和解決方案。
若要針對遠端偵錯問題進行疑難解答,第一個步驟是檢查錯誤訊息並調查。 訊息可能包含含有詳細信息的連結。
接下來,請先確認應用程式已在伺服器上正確執行,然後再嘗試進行偵錯。
否則,以下是最常見的問題和解決方案:
安裝的遠端調試程式版本不正確
針對在遠端電腦上手動安裝遠端調試程式的案例,請確定已安裝的版本符合您的 Visual Studio 版本。 如需下載遠端調試程式的目前連結,請參閱 遠端調試程式。
發行組建會部署到伺服器,而不是偵錯組建
[發佈] 工具和一些其他發佈選項具有您需要設定的個別偵錯組態設定。 (當您在 Visual Studio 中執行應用程式時,您可能會選擇偵錯組建,但這並不表示您在伺服器上安裝了偵錯組建。
您可以附加至遠端應用程式,但無法叫用斷點(或偵錯符號不會載入)
針對此問題,您可能會看到未載入任何符號的訊息。
使用 [ 模組] 視窗 來找出模組的符號載入狀態,以及調試程式將視為使用者程式代碼或 我的程式代碼的模組。
- [符號狀態] 資料行指出模組是否已正確載入符號。
- [ 用戶代碼 ] 資料行指出您嘗試偵錯的模組是否分類為 [我的程序代碼]。 如果它顯示為我的程式代碼不正確,您可能已將發行組建部署至伺服器。 發行二進位檔已優化,且永遠不會被視為我的程序代碼,因此請停用 Just My Code 或將偵錯組建部署至伺服器。
- 如果使用者程式 代碼 設定正確,但未載入符號,請確認調試程式正在使用正確的符號檔。 調試程式只會載入與建置應用程式時所建立的 .pdb 檔案完全相符的符號 (也就是原始的 .pdb 檔案或複本)。 針對遠端 Windows 偵錯,預設會在 Visual Studio 計算機上讀取 PDB 檔案,而不是從伺服器讀取。 不過,msvsmon 具有命令行自變數,可讓回溯至遠端 .pdb 檔案。
如需詳細資訊,請參閱 針對斷點進行疑難解答。
(ASP.NET)伺服器上執行的 ASP.NET 版本與為您的應用程式設定的版本不同
您可能需要在伺服器或本機計算機上安裝正確的 ASP.NET 或 ASP.NET Core 版本。 若要檢查應用程式版本的 ASP.NET,請以滑鼠右鍵按兩下 方案總管 中的項目,然後選擇 [屬性]。 檢查 [建置] 索引標籤。伺服器上 ASP.NET 的組態是案例特有的。 針對 ASP.NET Framework 應用程式,您可能需要在 web.config 檔案中設定架構版本。
您在 [附加至行程] 對話框中看不到所需的程式
有些案例會要求您手動附加至正確的程式。 如果您針對案例使用 附加至進程 ,但看不到您預期的程式:
- 如果先前已設定搜尋程序篩選,請檢查您是否需要清除它。
- 選取 [ 顯示所有使用者 的進程],以顯示在其他使用者帳戶下執行的進程。
- 針對緩慢連線,您可能想要停用自動重新整理。
- 如果它們從預設值變更,[ 連線類型 ] 和 [附加至 ] 字段可能會限制清單中出現的進程。
您未附加至正確的程式
如果您使用附加至進程,請確定您附加至正確的進程。 如需詳細資訊,請參閱 常見的偵錯案例。
必要的埠未開啟
在大部分 ASP.NET 設定中,ASP.NET 和遠端調試程式安裝會開啟必要的埠。 不過,您可能需要確認連接埠已開啟。 例如,在 Azure VM 案例中,您可能需要開啟 遠端調試程式埠和伺服器埠 (例如 IIS 使用埠 80)。
可能需要提高遠端調試程序的許可權
在某些情況下,您可能需要以系統管理員身分執行遠端調試程式。 如需詳細資訊,請參閱以系統管理員身分執行遠端偵錯工具。