從 Visual Studio 中的 DLL 專案進行偵錯 (C#、C++、Visual Basic、F#)
偵錯 DLL 專案的其中一個方法,是在 DLL 專案屬性中指定呼叫的應用程式。 然後,您可以從 DLL 專案本身開始偵錯。 若要讓此方法正常運作,應用程式必須在與您設定的相同位置上呼叫相同的 DLL。 如果應用程式找到並載入不同版本的 DLL,該版本將不會包含中斷點。 如需偵錯 DLL 的其他方法,請參閱對 DLL 專案進行偵錯。
如果您的受控應用程式呼叫原生 DLL,或原生應用程式呼叫受控 DLL,您可以對 DLL 和呼叫端應用程式進行偵錯。 如需詳細資訊,請參閱如何:在混合模式中偵錯。
原生和受控 DLL 專案有不同的設定來指定呼叫應用程式。
在原生 DLL 專案中指定呼叫的應用程式
在 [方案總管] 中選取 C++ DLL 專案。 選取 [屬性] 圖示、按下 Alt+Enter,或以滑鼠右鍵按一下並選擇 [屬性]。
在 <[專案屬性頁]> 對話方塊中,請確定視窗頂端的 [組態] 欄位已設定為 [偵錯]。
選取 [組態屬性偵錯]>[偵錯]。
在 [要啟動的偵錯工具] 清單中,請選擇 [本機 Windows 偵錯工具] 或 [遠端 Windows 偵錯工具]。
在 [命令] 或 [遠端命令] 方塊中,新增呼叫應用程式的完整路徑和檔案名稱,例如 .exe 檔案。
在 [命令引數] 方塊中,新增必要的程式引數。
選取確定。
在 C# DLL 專案中指定呼叫的應用程式 (.NET Core、.NET 5+)
在 [方案總管] 中選取 C# 或 Visual Basic DLL 專案。 選取 [屬性] 圖示、按下 Alt+Enter,或以滑鼠右鍵按一下並選擇 [屬性]。
在 [偵錯] 索引標籤中,選取 [開啟偵錯啟動設定檔 UI]。
在 [啟動設定檔] 對話方塊中,選取 [建立新的設定檔] 圖示,然後選擇 [可執行檔]。
在新設定檔的 [可執行檔] 底下,瀏覽至可執行檔的位置 (.exe 檔案),然後加以選取。
在 [啟動設定檔] 對話方塊中,請注意預設設定檔的名稱,然後加以選取並刪除。
將新設定檔重新命名為與預設設定檔相同的名稱。
或者,您可以手動編輯 launchSettings.json 以取得相同的結果。 您希望 launchSettings.json 中的第一個設定檔符合類別庫的名稱,並將其列為檔案首位。
在受控 DLL 專案中指定呼叫的應用程式
在 [方案總管] 中選取 C# 或 Visual Basic DLL 專案。 選取 [屬性] 圖示、按下 Alt+Enter,或以滑鼠右鍵按一下並選擇 [屬性]。
請確定視窗頂端的 [組態] 欄位已設定為 [偵錯]。
在 [起始動作] 底下:
若為 .NET Framework DLL,選取 [啟動外部程式],然後加入呼叫應用程式之完整路徑和名稱。
或者,選取 [使用 URL 啟動瀏覽器],然後填入本機 ASP.NET 應用程式的 URL。
- 針對 Visual Basic 中的 .NET Core DLL,[偵錯] 屬性頁面不同。 從 [啟動] 下拉式清單中選取 [可執行檔],然後在 [可執行檔] 欄位中新增呼叫應用程式的完整路徑和名稱。
- 針對 .NET Core DLL,[偵錯] 屬性頁面不同。 從 [啟動] 下拉式清單中選取 [可執行檔],然後在 [可執行檔] 欄位中新增呼叫應用程式的完整路徑和名稱。
在 [命令列引數] 或 [應用程式引數] 欄位中,新增任何必要的命令列引數。
使用 [檔案]>[儲存選取的專案] 或 Ctrl+S 來儲存變更。
從 DLL 專案進行偵錯
在 DLL 專案中設定中斷點。
以滑鼠右鍵按一下 DLL 專案,然後選擇 [設定為啟始專案]。
確定 [方案組態] 欄位已設定為 [偵錯]。 按下 F5,按一下綠色開始箭號,或選取偵錯>開始偵錯。
其他提示:
如果偵錯未叫用中斷點,請確定 DLL 輸出 (預設為 <project>\Debug 資料夾) 是呼叫應用程式所呼叫的位置。
如果您想要從原生 DLL 中斷受控呼叫應用程式中的程式碼,請啟用 混合模式偵錯,反之亦然。
在某些情況下,您可能需要告訴偵錯工具可在何處找到原始程式碼。 如需詳細資訊,請參閱使用 [未載入符號]/[未載入來源] 頁面。
相關內容
- Debugging DLL projects (對 DLL 專案進行偵錯)
- C# 偵錯組態的專案設定
- Visual Basic 偵錯組態的專案設定
- C++ 偵錯設定的專案設定