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