使用 VS Code 进行 C# 代码调试的技巧

来自:ken的杂谈

链接:http://www.cnblogs.com/ken-io/p/dotnet-core-qucikstart-debug-vscode-skill.html

一、前言

  • 为什么要调试代码?
    通过调试可以让我们了解代码运行过程中的代码执行信息,比如变量的值等等。
    通常调试代码是为了方便我们发现代码中的bug。ken.io觉得熟练代码调试技巧是成为合格程序员的基本要求。

  • 本篇开发环境
    1、操作系统:Windows 10 X64
    2、SDK:.NET Core 2.0 Preview
    3、IDE:VS Code 1.14

二、调试技巧

  • 设置断点

    在代码编辑区域,点击左侧代码行行号的左边,即可在该行设置断点


640?wx_fmt=png


  • 启动调试

    使用菜单:调试->启动调试,或者使用快捷键F5启动调试


640?wx_fmt=png


启动调试后,程序启动,并会停留在第一个断点这一行。且这行的代码并未执行。

VS Code会自动唤出Debug工作区,本文将逐步介绍常用功能。


  • Debug工作区介绍


1、顶部Debug工具栏

按钮&快捷键说明(ken.io的翻译)
绿色向右箭头(F5)继续执行程序,如果遇到断点则会停留到该断点
蓝色向右箭头(F10)单步跳过:执行一条语句,但是遇到方法调用时不进入,直到方法执行完成后直接继续。
蓝色向下箭头(F11)单步调试:执行一条语句,遇到方法调用时会进入方法进行调试
蓝色向上箭头(Shift+F11)单步跳出:执行当前当前方法并到下一步骤,如果当前方法有断点则会到下一个断点
绿色环形箭头(Ctrl+Shift+F5)重新启动调试
红色方块(Shift+F5)停止调试


2、变量区域


管理当前方法已经声明的变量信息

640?wx_fmt=png


3、监视


可以添加要监视的表达式,比如i*2+5

640?wx_fmt=png


如果i的值发生变化,将会实时计算结果


4、调用堆栈


显示当前调试的堆栈信息

640?wx_fmt=png

说明(ken.io的翻译)
heelodotnet.dll调用的动态链接库
hellodotnet命名空间
Program.Main(string[] args)调用的类&方法
Line当前调用方法的行号


如果有多个调用的链接库可以鼠标单击切换。查看变量等信息


5、断点


管理断点

640?wx_fmt=png


  • 调试过程中修改变量


选中要修改的标量,鼠标右键->设置值(快捷键F2也可以)

640?wx_fmt=png

设置值:

640?wx_fmt=png


回车键保存,然后F10进行单步跳过

640?wx_fmt=png


本来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列断点:在当前光标的下一行增加一个断点


公众号内回复“1”带你进粉丝群640?wx_fmt=gif&wxfrom=5&wx_lazy=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值