在混合模式下调试(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 文件(而非项目属性)启用混合模式调试。