一、前言
-
为什么要调试代码?
通过调试可以让我们了解代码运行过程中的代码执行信息,比如变量的值等等。
通常调试代码是为了方便我们发现代码中的bug。ken.io觉得熟练代码调试技巧是成为合格程序员的基本要求。 -
本篇开发环境
1、操作系统: Windows 10 X64
2、SDK: .NET Core 2.0 Preview
3、IDE:VS Code 1.14
二、调试技巧
- 设置断点
在代码编辑区域,点击左侧代码行行号的左边,即可在该行设置断点
- 启动调试
使用菜单:调试->启动调试,或者使用快捷键F5启动调试
启动调试后,程序启动,并会停留在第一个断点这一行。且这行的代码并未执行。
VS Code会自动唤出Debug工作区,本文将逐步介绍常用功能。
- Debug工作区介绍
1、顶部Debug工具栏
按钮&快捷键 | 说明(ken.io的翻译) |
---|---|
绿色向右箭头(F5) | 继续执行程序,如果遇到断点则会停留到该断点 |
蓝色向右箭头(F10) | 单步跳过:执行一条语句,但是遇到方法调用时不进入,直到方法执行完成后直接继续。 |
蓝色向下箭头(F11) | 单步调试:执行一条语句,遇到方法调用时会进入方法进行调试 |
蓝色向上箭头(Shift+F11) | 单步跳出:执行当前当前方法并到下一步骤,如果当前方法有断点则会到下一个断点 |
绿色环形箭头(Ctrl+Shift+F5) | 重新启动调试 |
红色方块(Shift+F5) | 停止调试 |
2、变量区域
管理当前方法已经声明的变量信息
3、监视
可以添加要监视的表达式,比如i*2+5
如果i的值发生变化,将会实时计算结果
4、调用堆栈
显示当前调试的堆栈信息
项 | 说明(ken.io的翻译) |
---|---|
heelodotnet.dll | 调用的动态链接库 |
hellodotnet | 命名空间 |
Program.Main(string[] args) | 调用的类&方法 |
Line | 当前调用方法的行号 |
如果有多个调用的链接库可以鼠标单击切换。查看变量等信息
5、断点
管理断点
- 调试过程中修改变量
选中要修改的标量,鼠标右键->设置值(快捷键F2也可以)
设置值:
回车键保存,然后F10进行单步跳过
本来i=0,randomNum=28,如果继续执行result=false,将无法执行if语句块。
修改后randomNum=0,执行后result=true,让本来会被跳过的if语句块可以被调试。
三、VS Code调试 .NET Core快捷键总结
快捷键 | 说明(ken.io的翻译) |
---|---|
快捷键:F5 | 继续执行程序,如果遇到断点则会停留到该断点 |
快捷键:F10 | 单步跳过:执行一条语句,但是遇到方法调用时不进入,直到方法执行完成后直接继续。 |
快捷键:F11 | 单步调试:执行一条语句,遇到方法调用时会进入方法进行调试 |
快捷键:Shift+F11 | 单步跳出:执行当前当前方法并到下一步骤,如果当前方法有断点则会到下一个断点 |
快捷键:Ctrl+Shift+F5 | 重新启动调试 |
快捷键:Shift+F5 | 停止调试 |
快捷键:F9 | 切换断点:跳到下一个断点 |
快捷键:Shift+F9 | 列断点:在当前光标的下一行增加一个断点 |
- 系列名称:.NET Core 快速入门教程
- 上一篇:.NET Core快速入门教程 4、使用VS Code开发.NET Core控制台应用程序
- 下一篇:暂无下一篇,敬请期待!
- 本篇首次发布:2017-08-01
- 本篇原文链接:https://ken.io/note/dotnet-core-qucikstart-debug-vscode-skill
本文由 ken.io 创作,采用CC BY 3.0 CN协议 进行许可。 可自由转载、引用、甚至修改,但需署名作者且注明出处。