热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

.NET(C#)测试控制台应用

1.前言前面我们已经在VisualStudio中建立并编写了一个简单的不能再简单的控制台程序了,接下来我们学着怎样去debug成功程序,接着上一篇.NE
1.前言

前面我们已经在VisualStudio中建立并编写了一个简单的不能再简单的控制台程序了,接下来我们学着怎样去debug成功程序,接着上一篇.NET/C#入门之开发控制台应用编辑的代码进行




2.设置调试模式

3.给代码打上断点
可以有两种方式~~~
3.1 在需要打断点的代码最左边单机,出现红点表示断点设置成功
 
3.2 在需要打断点的代码上右键选择断点插入断点

4.启动调试
当我在控制台输入“andy”的时候,局部变量窗口就会显示出断点处变量接收情况


注意局部变量窗口的输入,他可以输出你程序断点处的变量值,以此来判断变量是否有问题。
5.即时窗口使用
即时窗口可以实时的输入参数,调试程序。

在gif中我在控制台不小心吧“andy”写掉了一个y这个时候我直接在“即时窗口”中写上 name="andy" 回车这个时候就可以看到局部变量的值也跟着发生了变化
这样就方便我们实时的去输入调试代码,实时观察执行情况。
ps:清屏小技巧,输入“>cls”回车即可清屏,其他命令这里就不提及了。

6.设置条件断点
6.1 编写一段代码

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace ConsoleApp
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. Console.WriteLine("What's your name?");
  13. ///循环输出数字
  14. for (var i&#61;0;i<10; i&#43;&#43;) {
  15. Console.Write("{0}", i);
  16. }
  17. var name &#61; Console.ReadLine();
  18. Console.WriteLine("\nHello {0} my name is elimy.\n", name);
  19. Console.WriteLine("Press any key to exit...");
  20. Console.ReadKey();
  21. }
  22. }
  23. }
    我们在Console.Write("{0}", i);    我们在打上一个断点

6.1 右键断点&#xff0c;点击条件

6.2 设置断点条件i&#61;&#61;5

6.3 开启调试

可以看到结果如下&#xff0c;当i&#61;&#61;5为true的时候触发了条件断点&#xff0c;所以程序停止在这里。
7.逐语句/逐过程/跳出的区别
逐语句&#xff1a;表示每次执行一条语句
逐过程&#xff1a;将函数当成一条语句执行&#xff0c;从函数执行开始直接执行到函数完
跳出&#xff1a;当在函数内时&#xff0c;点击跳出&#xff0c;直接执行到函数结束
参考&#xff1a;https://docs.microsoft.com/zh-cn/dotnet/articles/csharp/getting-started/debugging-with-visual-studio-2017


推荐阅读
  • 本文详细介绍了 `org.apache.tinkerpop.gremlin.structure.VertexProperty` 类中的 `key()` 方法,并提供了多个实际应用的代码示例。通过这些示例,读者可以更好地理解该方法在图数据库操作中的具体用途。 ... [详细]
  • 本文详细介绍了Linux系统中信号量的相关函数,包括sem_init、sem_wait、sem_post和sem_destroy,解释了它们的功能和使用方法,并提供了示例代码。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ... [详细]
  • Beetl是一款先进的Java模板引擎,以其丰富的功能、直观的语法、卓越的性能和易于维护的特点著称。它不仅适用于高响应需求的大型网站,也适合功能复杂的CMS管理系统,提供了一种全新的模板开发体验。 ... [详细]
  • Java 中的十进制样式 getZeroDigit()方法,示例 ... [详细]
  • 本文通过C++语言实现了一个递归算法,用于解析并计算数学表达式的值。该算法能够处理加法、减法、乘法和除法操作。 ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 洛谷 P4009 汽车加油行驶问题 解析
    探讨了经典算法题目——汽车加油行驶问题,通过网络流和费用流的视角,深入解析了该问题的解决方案。本文将详细阐述如何利用最短路径算法解决这一问题,并提供详细的代码实现。 ... [详细]
  • 本文深入探讨了Go语言中的接口型函数,通过实例分析其灵活性和强大功能,帮助开发者更好地理解和运用这一特性。 ... [详细]
  • 如何将955万数据表的17秒SQL查询优化至300毫秒
    本文详细介绍了通过优化SQL查询策略,成功将一张包含955万条记录的财务流水表的查询时间从17秒缩短至300毫秒的方法。文章不仅提供了具体的SQL优化技巧,还深入探讨了背后的数据库原理。 ... [详细]
  • 问题场景用Java进行web开发过程当中,当遇到很多很多个字段的实体时,最苦恼的莫过于编辑字段的查看和修改界面,发现2个页面存在很多重复信息,能不能写一遍?有没有轮子用都不如自己造。解决方式笔者根据自 ... [详细]
  • spring boot使用jetty无法启动 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
author-avatar
最最后的力气撑起最灿烂的微笑
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有