调试 DLL 项目的一种方法是在 DLL 项目属性中指定调用应用。 随后可以从 DLL 项目本身开始调试。 若要使此方法有效,应用必须调用与配置相同的位置处的相同 DLL。 如果应用找到并加载了不同版本的 DLL,则该版本不包含断点。 有关调试 DLL 的其他方法,请参阅 调试 DLL 项目

如果托管应用调用本机 DLL,或本机应用调用托管 DLL,则可以同时调试 DLL 和调用应用。 有关详细信息,请参阅 如何:在混合模式下调试

本机和托管 DLL 项目具有不同的设置来指定调用应用。

在本机 DLL 项目中指定调用应用

  • 在解决方案资源管理器中选择 C++ DLL 项目。 选择“属性”图标,按 Alt+Enter,或右键单击并选择“属性”。

  • 在“<项目> > 属性页”对话框中,确保窗口顶部的“配置”字段设置为“调试”。

  • 选择“配置属性”>“调试”。

  • 在“要启动的调试器”列表中,选择“本地 Windows 调试器”或“远程 Windows 调试器”。

  • 在“命令”或“远程命令”框中,添加调用应用的完全限定路径和文件名,如 .exe 文件。

  • 向“命令参数”框添加任何必要的程序参数。

  • 选择“确定”。

    在 C# DLL 项目中指定调用应用(.NET Core、.NET 5+)

  • 在解决方案资源管理器中选择 C# 或 Visual Basic DLL 项目。 选择“属性”图标,按 Alt+Enter,或右键单击并选择“属性”。

  • 在“调试”选项卡中,选择“打开调试启动配置文件 UI”。

  • 在“启动配置文件”对话框中,选择“创建新配置文件”图标,然后选择“可执行文件”。

  • 在新配置文件中的“可执行文件”下,浏览到可执行文件(.exe 文件)的位置并将其选定。

  • 在“启动配置文件”对话框中,记下默认配置文件的名称,然后将其选定并删除。

  • 将新配置文件重命名为与默认配置文件相同的名称。

    或者,可以手动编辑 launchSettings.json 以获取相同的结果。 你希望 launchSettings.json 中的第一个配置文件与类库的名称匹配,并希望它在文件中列在第一个。

    在托管 DLL 项目中指定调用应用

  • 在解决方案资源管理器中选择 C# 或 Visual Basic DLL 项目。 选择“属性”图标,按 Alt+Enter,或右键单击并选择“属性”。

  • 确保窗口顶部的“配置”字段设置为“调试” 。

  • 在“启动操作”下:

  • 对于 .NET Framework DLL。选择“启动外部程序”,并添加调用应用的完全限定路径和名称。

  • 或者,选择“使用 URL 启动浏览器”并填写本地 ASP.NET 应用的 URL。

  • 如果调试未命中断点,请确保 DLL 输出(默认情况为 <>\Debug 文件夹)是调用应用进行调用的位置。

  • 如果要从本机 DLL 中断托管调用应用中的代码,或进行相反的转换,请启用 混合模式调试

  • 在某些情况下,可能需要告诉调试器在何处查找源代码。 有关详细信息,请参阅 使用“未加载符号/未加载源”页面

  • 调试 DLL 项目
  • C# 调试配置的项目设置
  • Visual Basic 调试配置的项目设置
  • C++ 调试配置的项目设置
  •