快速入门:使用 Visual Studio 调试器调试 ASP.NET Core

在本快速入门中,你将了解如何使用Visual Studio调试器调试 ASP.NET Core应用程序代码。 本文提供了一种快速方法,用于了解调试器中工作的一些基本功能。

如果没有Visual Studio,可以从Visual Studio下载页安装 免费试用版

创建新项目

先创建一个新项目,这样就有一些代码可以在调试器中查看。

  1. 打开 Visual Studio 并创建新项目。

    • 如果未打开 “开始”窗口 ,请选择“ 文件>启动窗口”。

    • 在“开始”窗口中,选择“ 创建新项目”。

  2. 在“ 创建新项目 ”窗口中,设置筛选器并搜索项目模板。

    • “搜索模板 ”框中,输入 Web 应用

    • 展开 “语言 ”下拉列表,然后选择 “C#”。

  3. 在结果列表中,选择 C# 的 ASP.NET Core Web 应用(Razor Pages) 模板,然后选择 Next

    如果未看到适用于 C# 的 ASP.NET Core Web 应用(Razor Pages)模板,请选择不带代码的 Continue 选项。

    1. 选择 Tools>获取工具和功能...,这将打开 Visual Studio 安装程序。

    2. 在“安装程序”窗口中,选中ASP.NET 和 Web 开发工作负载的复选框,然后选择Modify

      你的 Visual Studio 安装将更新为包含所选的 ASP.NET 工作负载。

    3. 更新完成后,选择 “文件>开始”窗口,并按照 前面的说明 选择所需的模板。

  4. 配置新项目:

    1. 输入 Project 名称Solution 名称,或使用默认值。

    2. 使用默认 位置 或选择浏览(...)在不同的文件夹中创建项目。

    3. 选择“下一步”。

    4. 使用建议的目标 Framework(默认值为 .NET 10.0 长期支持)。

    5. 对于其他设置,请使用默认值。

    6. 选择“创建”

    Visual Studio创建新项目,并将项目文件添加到指定文件夹中。

更新项目代码

更新项目模板提供的某些代码,以便在调试器中测试更多语句。

  1. 解决方案资源管理器 窗格中,展开 <project-name>\Pages 节点,然后选择 Privacy.cshtml 项。

    Privacy.cshtml 文件将在代码编辑器中打开。

  2. 在文件中找到以下代码部分,并将其替换为提供的代码片段:

    @{
     ViewData["Title"] = "Privacy Policy";
    }
    

    替换代码片段:

    @{
     ViewData["Title"] = "Privacy Policy";
     <label>@PrivacyModel.PrivacyMessage</label>
    }
    
  3. 解决方案资源管理器 中,展开 <project-name>\Pages\Privacy.cshtml 节点,然后选择 Privacy.cshtml.cs 项。

    Privacy.cshtml.cs文件将在代码编辑器中打开。

  4. 在文件中找到以下代码部分,并将其替换为提供的代码片段:

    public void OnGet()
    {
    }
    

    替换代码片段:

    
    public static string? PrivacyMessage { get; set; }
    
    public void OnGet() {
       LinkedList<int> result = DoWork();
    
       PrivacyMessage = "Result of work: " + result.First.Value + ", " + result.First.Value;
    }
    
    private static LinkedList<int> DoWork() {
       LinkedList<int> c1 = new();
    
       c1.AddLast(10);
       c1.AddLast(20);
    
       LinkedList<int> c2 = new(c1);
       return c2;
    }
    

设置断点

断点是一种标记,用于指示 Visual Studio 应在何处暂停正在运行的代码。 设置断点后,可以查看变量的当前值,检查内存的行为,并检查代码的特定分支是否正在运行。 断点是调试中最基本的功能。

  1. 若要设置断点,请在代码中找到对 DoWork 函数的调用,然后在同一行的左侧边栏中单击。

    设置断点后,对应代码行左侧的边栏中会显示一个红点。

    显示如何在 Visual Studio 调试器中设置断点的屏幕截图。

    演示如何在 Visual Studio 2022 调试器中设置断点的屏幕截图。

  2. 使用 F5 键盘快捷方式(或选择“ 调试>开始调试”)开始调试。

  3. 当网页在浏览器窗口中打开时,选择页面顶部的 “隐私 ”链接。

    代码执行会在调用 DoWork 函数之前立即暂停。

    调试器会在设置断点的位置暂停。 黄色箭头标识调试器暂停应用执行的语句。

    显示 Visual Studio 中调试器在已设置的断点处暂停的屏幕截图。

    显示调试器在 Visual Studio 2022 中于已设置的断点处暂停的屏幕截图。

设置条件断点

如果你在循环或递归中设置了断点,或者有许多需要频繁单步调试的断点,请使用 条件断点

此方法有助于确保代码仅在满足特定条件时暂停执行。 条件断点可以节省时间,还能使调试难以重现的问题变得更容易。

逐步讲解你的代码

Visual Studio提供了几种不同的方法来指示调试器继续执行应用。 以下示例演示了一个有用的命令,用于演练代码。

当代码在断点处暂停时,将鼠标悬停在语句 return c2; 上,直到看到绿色的 单击以运行运行到此处 图标。 选择图标。

显示如何在 Visual Studio 调试器中使用“运行到单击”操作的屏幕截图。

显示如何在 Visual Studio 2022 调试器中使用“运行到单击”操作的屏幕截图。

应用继续执行,并在你单击该按钮时所在的代码行处暂停。

用于单步执行代码的常见键盘命令包括 F10F11。 有关更深入的说明,请参阅 “首先查看调试器”。

检查数据提示中的变量

可以使用 数据提示 功能检查变量的状态。

  1. 在当前代码行(由黄色执行指针标记)中,将鼠标悬停在 c2 对象上以查看数据提示。

    显示如何在 Visual Studio 调试器中查看代码变量的数据提示的屏幕截图。

    显示如何在 Visual Studio 2022 调试器中查看代码变量的数据提示的屏幕截图。

    数据提示显示变量的 c2 当前值,并允许检查其属性。

    调试时,如果发现某个变量的值出乎意料,那程序中很可能存在缺陷。 这个缺陷可能出在调用该变量的代码中,也可能出在前一行代码中。

  2. 展开数据提示以查看 c2 对象的当前属性值。

  3. 若要在代码执行过程中继续检查 c2 的值,请选择数据提示上的 图钉 图标。

    固定操作使数据提示保持打开状态。 代码执行过程中,固定提示中的值会变化,以显示监视对象的当前状态。

    您可以将固定提示移动到 IDE 中的任意位置,这样它就不会妨碍您在调试时查看其他项。

后续步骤