共用方式為


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

本文說明如何啟用同時對受控程式碼和機器碼的偵錯,稱為混合模式偵錯。 有兩種混合模式偵錯案例:

  • 可呼叫 DLL 的應用程式是以機器碼所撰寫,而且 DLL 為受控程式碼。

  • 可呼叫 DLL 的應用程式是以受控程式碼所撰寫,而且 DLL 為機器碼。 有關引導您完成此案例的教學課程​程,請參閱對受控程式碼和機器碼進行偵錯

您可以在呼叫應用程式專案的 [屬性] 頁面中同時啟用受控和原生偵錯工具。 原生與受控應用程式之間的設定不同。

如果您沒有呼叫應用程式專案的存取權,則可以從 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 中啟用受控呼叫應用程式的混合模式偵錯,請遵循下列步驟:

  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 檔案來啟用混合模式偵錯,而不是使用專案屬性。