C# 调试配置(.NET Core、.NET 5+ 和 ASP.NET Core)的项目设置
可在项目属性页的“调试”选项卡和“生成”选项卡中更改 C# 项目调试设置。
若要打开属性页,在“解决方案资源管理器”中选择项目,然后选择“属性”图标,或右键单击项目并选择“属性” 。
有关详细信息,请参见调试和发布配置。
重要
这些设置不适用于 .NET Framework 或 UWP 。 若要配置 .NET Framework 的调试设置,请参阅 C# 调试配置的项目设置。
“调试”选项卡
从 Visual Studio 2022 开始,选择“调试”选项卡中的“打开调试启动配置文件 UI”可打开启动配置文件 UI 和更改调试设置。
启动配置文件(.NET Core、.NET 5+)
设置 | 说明 |
---|---|
命令行参数 | 指定要调试的应用的命令行参数。 命令名称为“启动外部程序”中指定的应用名称。 |
工作目录 | 指定要调试的应用的工作目录。 在 C# 中,默认情况下,工作目录为 \bin\debug。 |
使用远程计算机 | 对于远程调试,请选择此选项,然后输入远程调试目标的名称或 Msvsmon 服务器名称。 应用在远程计算机上的位置由“生成”选项卡中的“输出路径”属性指定 。此位置必须是远程计算机上的共享目录。 |
环境变量 | 在运行应用程序进程之前设置环境变量。 有关 ASP.NET Core 的信息,请参阅环境。 |
启用非托管代码调试 | 从托管应用调试对本机(非托管)Win32 代码的调用。 |
启用 SQL Server 调试 | 调试 SQL Server 数据库对象。 |
启用 WebView2 调试 | 使用基于 Microsoft Edge (Chromium) 调试器调试 JavaScript。 |
启动配置文件 (ASP.NET Core)
除了 .NET 5+ 的属性之外,ASP.NET Core 启动配置文件还包括不同 ASP.NET Core 配置文件的若干其他属性。 这些设置为项目的 launchSettings.json 文件提供了一个简单的 UI。 有关此文件的详细信息,请参阅在 ASP.NET Core 中使用多个环境中的“开发”和 launchSettings.json 部分。
启动配置文件 UI 中提供的设置包括以下内容。
设置 | 说明 |
---|---|
启动浏览器 | 选择在启动调试时是否启动默认浏览器(使用在“URL”设置中设置的 URL)。 |
Url | 指定 .NET 或 .NET Core 的主机 URL 的位置。 对于根据项目命名的配置文件(即 launchSettings.json 中的 commandName 属性为 Project),Kestrel 服务器侦听指定的端口 。 对于 IIS 配置文件,此值通常与“应用 URL”相同。 有关详细信息,请参阅配置项目下的 IIS 启动配置文件部分。 |
应用 URL | 指定应用程序 URL。 对于根据项目命名的配置文件,此属性指定 Kestrel 服务器 URL,通常为 https://localhost:5001 和 http://localhost:5000 |
Visual Studio 默认提供 IIS Express 配置文件,并且你可以创建其他配置文件,例如 IIS 配置文件。 这些设置还对应于 launchSettings.json 中的设置。 这两种配置文件类型提供了多种设置,例如托管模型。
设置 | 说明 |
---|---|
托管模型 | 指定“进程内”或“进程外”。 有关详细信息,请参阅 ASP.NET Core 中的托管模型。 |
应用 SSL URL | 对于 IIS Express,“应用 SSL URL”通常为 http://localhost:44334. |
“生成”选项卡
下表显示了可用于调试的生成设置。 有关生成设置的完整说明,请参阅“项目设计器”->“生成”页面。
设置 | 描述 |
---|---|
常规>条件编译符号 | 定义 DEBUG 和 TRACE 常数(如果已选)。 这些常数启用 Debug 类和 Trace 类的条件编译。 定义了这两个常数后,Debug 和 Trace 类方法将向输出窗口生成输出。 如果没有这两个常数,则不编译 Debug 和 Trace 类方法,并且不生成任何输出。 通常情况下,DEBUG 在生成的调试版本中定义,而不在发布版本中定义。 调试和发布版本中都定义了 TRACE。 |
常规>优化代码 | 除非 bug 仅在经过优化的代码中出现,否则对于“调试”生成,请取消选择此设置。 经过优化的代码更难调试,因为指令与源代码中的语句并不是直接对应关系。 |
调试符号 | 指定编译器生成的调试信息的类型。 请参阅调试符号。 有关如何配置应用程序的调试性能的信息,请参阅令映像更易于调试。 |
“输出”>“输出的基路径” | 指定中间输出的基文件夹。 输出通常转到“bin\Debug”进行调试生成。 |
“输出”>“中间输出的基路径” | 指定中间输出的基文件夹。 输出通常转到“obj\Debug”进行调试生成。 |
调试符号
可以选择以下调试符号选项。
未发出任何符号
指定不会生成任何调试信息。
PDB 文件,当前平台
生成 .PDB 文件,这是一种特定于平台的符号文件,可提供其他工具(尤其是调试器)、主可执行文件内容的相关信息及其生成方式。
PDB 文件,可移植
生成 .PDB 文件,这是一种未特定于任何平台的可移植符号文件,可提供其他工具(尤其是调试器)、主可执行文件内容的相关信息及其生成方式。 有关详细信息,请参阅 Portable PDB(可移植 PDB)。
嵌入到 DLL/EXE 中,可跨平台移植
将可移植符号信息嵌入程序集。 不会生成任何外部 .PDB 文件。
有关详细信息,请参阅 /debug (C# 编译器选项)。