共用方式為


混合模式偵錯 (C#、 C++、 Visual Basic)

本文說明如何同時啟用受控碼與原生碼的偵錯功能,稱為 混合模式 偵錯。 有兩種混合模式偵錯案例:

  • 呼叫 DLL 的應用程式是以原生程式代碼撰寫,而且會管理 DLL。

  • 呼叫 DLL 的應用程式是以受控代碼撰寫,而 DLL 則為原生碼。 如需引導您完成此案例的教學課程,請參閱 偵錯 Managed 和原生程式碼

您可以在呼叫應用程式專案的 Property 頁面中啟用管理式和原生調試程式。 原生和受控應用程式的設定不同。

如果您沒有呼叫應用程式專案的存取權,您可以從 DLL 專案對 DLL 進行偵錯。 您不需要使用混合模式來進行除錯。 您只需要 DLL 專案。 如需詳細資訊,請參閱 如何從 DLL 專案進行偵錯

注意

本文所述的對話框和命令可能會與您的體驗不同,視Visual Studio設定或版本而定。 若要變更您的設定,請選擇 [[工具]>[匯入和匯出設定]。 如需詳細資訊,請參閱 重設所有設定

開啟原生呼叫應用程式的混合模式 (C++)

若要在 C++ 中啟用原生呼叫應用程式的混合模式偵錯,請遵循下列步驟:

  1. 在 Visual Studio [方案總管]中,以滑鼠右鍵按兩下C++專案,然後選取 [屬性],或使用 Alt + Enter 鍵盤快捷方式。 [<專案> 屬性頁] 對話框隨即開啟。

  2. 在對話框中,展開 [組態屬性] 區段,然後選取 [除錯] 索引標籤。

  3. 在 [偵錯] 索引標籤中,選取 [調試程序類型] 屬性,並使用下拉式清單選取 [[自動] 或 [混合] 選項。 如果存在多個 混合選項,例如.NET Core及.NET Framework,請選擇最佳選項以符合您的組態。

    顯示如何在Visual Studio中啟用C++專案的混合模式偵錯的螢幕快照。

  4. 若要套用屬性變更,請選擇 [確定]

啟用管理呼叫應用程式的混合模式(C# 或 Visual Basic)

若要在 C# 或 Visual Basic 中啟用 Managed 呼叫應用程式的混合模式偵錯,請遵循下列步驟:

  1. 在 Visual Studio [方案總管]中,以滑鼠右鍵按兩下 C# 或 Visual Basic 專案,然後選取 [屬性],或使用 Alt + Enter 鍵盤快捷方式。 [屬性] 視窗打開。

  2. 在 [屬性] 窗格中,藉由設定下列屬性來啟用混合模式偵錯:

    .NET 程式代碼

    1. 在左側選單上,選取 偵錯

    2. 在 [一般] 區段中,選取 [開啟偵錯啟動設定檔 UI] 連結。 [啟動設定檔] 對話框隨即開啟。

    3. 在對話框中,捲動以找出 [啟用原生程式代碼偵錯] 區段。

    4. 選取 同時啟用受控程式和原生程式代碼偵錯(又稱混合模式偵錯) 屬性:

      顯示如何在Visual Studio中啟用 C# 或 Visual Basic 專案的混合模式偵錯的螢幕快照。

    5. 若要套用屬性變更,請關閉 [啟動配置檔] 對話框和 [屬性] 窗格。

    .NET Framework 程式代碼

    如果您使用沒有偵錯啟動設定檔的 .NET Framework 程式代碼,請遵循下列步驟:

    1. 在左側選單中,選取 偵錯

    2. 在 [調試程式引擎] 區段中,選取 [啟用原生代碼偵錯 屬性]:

      顯示如何在 Visual Studio 2019 中為 C# 或 Visual Basic 專案啟用混合模式偵錯的螢幕快照。

    3. 若要套用屬性變更,請關閉 [屬性] 窗格。

    1. 在左側選單上,選取 偵錯

    2. 在 [調試程式引擎] 區段中,選取 [啟用原始碼偵錯 屬性]:

      顯示如何在 Visual Studio 2019 中為 C# 或 Visual Basic 專案啟用混合模式偵錯的螢幕快照。

    3. 若要套用屬性變更,請關閉 [屬性] 窗格。

    注意

    針對 Visual Studio 2017 和 Visual Studio 2019 中的 .NET Core 應用程式,您必須使用 launchSettings.json 檔案,而不是專案屬性來啟用混合模式偵錯。