以混合模式進行偵錯 (C#、C++、Visual Basic)
本文說明如何啟用同時對受控程式碼和機器碼的偵錯,稱為混合模式偵錯。 有兩種混合模式偵錯案例:
可呼叫 DLL 的應用程式是以機器碼所撰寫,而且 DLL 為受控程式碼。
可呼叫 DLL 的應用程式是以受控程式碼所撰寫,而且 DLL 為機器碼。 有關引導您完成此案例的教學課程程,請參閱對受控程式碼和機器碼進行偵錯。
您可以在呼叫應用程式專案的 [屬性] 頁面中同時啟用受控和原生偵錯工具。 原生與受控應用程式之間的設定不同。
如果您沒有呼叫應用程式專案的存取權,則可以從 DLL 專案對 DLL 進行偵錯。 您不需要混合模式來進行偵錯。 您只需要 DLL 專案。 如需詳細資訊,請參閱如何從 DLL 專案進行偵錯。
注意
根據 Visual Studio 設定或版本,本文中所說明的對話方塊和命令可能與您的體驗不同。 若要變更您的設定,請選取 [工具]> [匯入和匯出設定]。 如需詳細資訊,請參閱重設所有設定。
啟用原生呼叫應用程式 (C++) 的混合模式偵錯
若要在 C++ 中啟用原生呼叫應用程式的混合模式偵錯,請遵循下列步驟:
在 Visual Studio [方案總管] 中,以滑鼠右鍵按鍵按一下 C++ 專案,然後選取 [屬性],或使用 Alt + Enter 鍵盤快速鍵。 <專案>屬性頁面對話方塊開啟。
在對話方塊中,展開 [組態屬性] 區段,然後選取 [偵錯] 索引標籤。
在 [偵錯] 索引標籤中,選取 [偵錯工具類型] 屬性,並使用下拉式清單來選取 [自動] 或 [混合] 選項。 如果 [混合] 有多個選項,例如 .NET Core 和 .NET Framework,請選擇組態的最佳選項。
若要套用屬性變更,請選取 [確定]。
開啟受控呼叫應用程式的混合模式 (C# 或 Visual Basic)
若要在 C# 或 Visual Basic 中啟用受控呼叫應用程式的混合模式偵錯,請遵循下列步驟:
在 Visual Studio [方案總管] 中,以滑鼠右鍵按鍵按一下 C# 或 Visual Basic 專案,然後選取 [屬性],或使用 Alt + Enter 鍵盤快速鍵。 屬性窗格隨即開啟。
在 [屬性] 窗格中,藉由設定下列屬性來啟用混合模式偵錯:
.NET 程式碼
在左側功能表中,選取 [偵錯]。
在 [一般] 區段中,選取 [開啟偵錯啟動設定檔 UI] 連結。 [啟動設定檔] 對話方塊打開。
在對話方塊中,捲動以找出 [啟用機器碼偵錯] 區段。
選取 [同時啟用受控程式碼和機器碼偵錯,也稱為混合模式偵錯] 屬性:
若要套用屬性變更,請關閉 [啟動設定檔] 對話方塊和 [ 屬性] 窗格。
.NET Framework 程式碼
如果您使用沒有偵錯啟動設定檔的 .NET Framework 程式碼,請遵循下列步驟:
在左側功能表中,選取 [偵錯]。
在 [偵錯工具引擎] 區段中,選取 [啟用機器碼偵錯] 屬性:
若要套用屬性變更,請關閉 [屬性] 窗格。
在左側功能表中,選取 [偵錯]。
在 [偵錯工具引擎] 區段中,選取 [啟用機器碼偵錯] 屬性:
若要套用屬性變更,請關閉 [屬性] 窗格。
注意
針對 Visual Studio 2017 和 Visual Studio 2019 中的 .NET Core 應用程式,您必須使用 launchSettings.json 檔案來啟用混合模式偵錯,而不是使用專案屬性。