可在项目属性页的“调试”选项卡和“生成”选项卡中更改 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 文件(非特定于平台的可移植符号文件)提供其他工具,尤其是调试器、有关主可执行文件中的内容及其生成方式的信息。 有关详细信息,请参阅 可移植 PDB。
嵌入在 DLL/EXE 中,可跨平台移植
将可移植符号信息嵌入程序集。 没有生成外部 PDB 文件。
有关详细信息,请参阅 /debug (C# 编译器选项)。