C# 8.0&.NET Core 3.0调试代码
关于《C# 8.0 And .NET Core 3.0 Modern Cross-Platform Development》第四章调试代码主要对自定义断点的使用及Visual Studio Code变量输出做了介绍
关键字:C# 8.0, .NET Core 3.0,Modern Cross-Platform Development, Chapter 4 , Writing, Debugging, and Testing Functions
自定义断点
轻松创建更复杂的断点是很容易的。
- 如果当前仍在调试状态请单击“停止”按钮或快捷键Shift + F5停止调试。
- 在当前窗口中单击工具栏中的"调试"按钮,以“删除所有断点”或使用快捷键Ctrl+Shift+F9删除所有断点。
- 选择一行要注释的代码
- 通过按F9或单击断点区域来添加断点。
- 右键单击刚刚添加的断点选择编辑"条件"
- 开始调试并注意未找到断点。
- 停止调试。
- 修改代码
var a = 1;
- 开始调试并注意断点被击中。
- 停止调试。
- 编辑断点并添加条件命中次数,然后输入一个类似2的数字,这意味着您必须先击中断点2次才能激活它。
Visual Studio Code输出变量的值使用
Visual Studio 开发者可以跳过这一章节
对于经验丰富的.NET开发人员,LINQPad是他们最喜欢的工具之一。 对于复杂的嵌套对象,可以将它们的值快速输出到工具窗口中很方便。
更多信息:虽然有LINQPad的名称但它不仅用于LINQ,而且还用于任何C#表达式,语句块或程序。 如果您在Windows上工作,我建议您使用它,并可以通过以下链接了解有关它的更多信息:https://www.linqpad.net。
对于跨平台的类似工具,我们也可以使用SharpPad扩展Visual Studio Code。
- 在Visual Studio代码中,导航到 View | Extensions
- 搜索SharpPad,然后单击 Install
- 创建一个名为Dumping的文件夹,将其添加到工作区,然后在该文件夹中创建一个控制台应用程序项目。
- 先通过Nuget安装SharpPad,在Terminal中,输入以下命令以将SharpPad软件包添加到Dumping项目中:
dotnet add package SharpPad
- 打开Dumping.csproj并记下软件包引用,如以下标记中突出显示的内容:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="SharpPad" Version="1.0.4" />
</ItemGroup>
</Project>
- 修改Program.cs以导入SharpPad和System.Threading.Tasks命名空间,将Main方法的返回类型更改为async Task,定义一个复杂的对象变量,然后将其转储到SharpPad窗口中,如以下代码所示:
using System;
using SharpPad;
using System.Threading.Tasks;
using static System.Console;
namespace Dumping
{
class Program
{
static async Task Main(string[] args)
{
var complexObject = new
{
FirstName = "Petr",
BirthDate = new DateTime(
year: 1972, month: 12, day: 25),
Friends = new[] { "Amir", "Geoff", "Sal" }
};
WriteLine($"Dumping {nameof(complexObject)} to SharpPad.");
await complexObject.Dump();
}
}
}
- 运行应用程序并查看结果,如以下屏幕截图所示: