zoukankan      html  css  js  c++  java
  • 21 调试我们的C#程序

      我们写的C#程序,很多的时候不是能一次就写对的。尤其是在实际的项目中,你经常要做的工作就是不断修改你写的程序,让它正常运行。程序有错误,主要是两种情况。一种是程序报错了,不能正常运行下去。另一种是程序没有报错,但是程序的执行结果不是我们想要的。通常程序员管这些错误叫做bug。怎么能更容易的找到这些程序的错误呢。 Visual Stuido提供了调试的功能让我们可以比较容易的调试程序,更加有效的找到出错的地方。

    Visual Studio的主要调试功能包括这些:

      1. 输出一些关键点的调试信息。

      2. 打断点。当程序运行到断点的时候,程序会停下来

      3. 一步步执行程序。

      4. 查看运行过程中各个变量的值。

    我们接下来一个个的了解和学习一下。 

    1. 输出一些关键点的调试信息。

    你创建一个项目。解决方案名称为Sloution21,项目名称为Exercise21,项目类型为控制台程序。点击Program.cs. 在里边加入这些代码。

    我们可以用Debug.WriteLine()来输出我们的调试信息。这个方法和Console.WriteLine()非常相似。Console.WriteLine()是把信息输出到Dos窗口。Debug.WriteLine()是把信息输出到vs的输出调试窗口。

    输出窗口在哪里啊?点击视图-》输出。 你会看到输出窗口。在显示输出来源的下拉列表中选择调试。就看到输出调试窗口了。

     

    要使用Debug.WriteLine(),我们首先要在using语句最下边加入一条新的using语句。 见第6行代码。

    using System.Diagnostics; 

    我们用到的Debug.WriteLine()在这个库里边。

    我们使用Debug输出了4条信息。

      1. 在main函数的开头

      2. 在main函数的结尾

      3. 第20行输出用户输入的数字

      4. 第23行输出经过复杂运算后的结果result的值

    运行结果

    在调试输出窗口中我们会看到很多输出。但是在中间我们可以找到我们的调试输出。你没有找到啊,那就看我的图吧。

    使用Debug.WriteLine()这种方法,可以把我们程序的一些关键节点的信息输出出来,以方便我们调试。而且它不用中断程序执行,所需时间短。

    2. 打断点。

    有的时候我们希望程序运行到某个语句,停下来。就像小孩子学舞蹈,要把复杂的舞蹈分解成一个个的动作。停下来,我们可以看的更清楚。

    打断点很简单。在代码行的左边灰色区域内(这个非常重要,必须是灰色区域内)点击鼠标左键。一个红色的原点出现了。这个红点就是程序的断点。程序运行到这里会停下来。取消断点也非常容易,再在相同的位置点击鼠标左键,红点不见了。断点就取消了。可以同时打多个断点哦。

    按F5运行。你会看到程序,运行到断点的地方就停了下来。将鼠标悬停在变量上边,你会看到各个变量的值。

    3. 让程序一步步执行

    当程序碰到断点的时候,程序就停了下来。接一下来我们可以让程序一步步的执行。

    有两种方法。

    l  逐语句。

    按F11键。程序会逐条语句的执行,遇到调用其他方法,程序会转到被调用的方法中逐条执行。

    l  逐过程。

    按F10键。程序会把调用的其他方法只是当做一条语句。遇到调用其他方法,程序不会转到被调用的方法中逐条执行。其他和逐语句执行一样。

    当在代码中打了多个断点的时候,想让程序直接跳到下一个断点,可以按F5键,让程序继续运行。碰到下一个断点,程序就停了下来。

    4.  查看运行过程中各个变量的值.

    在打断点的时候我们介绍了一种查看各个变量的值的方法。当然还有很多其他调试过程中查看变量的方法。我也希望大家可以自己试着通过网络查找一下,试着自己学习找到其他查看变量值的方法。有问题可以随时咨询我。 

    我讲这门课,重点是教大家能开始编程,越快越好。不是穷尽所有的知识点。还有的就是,我会给大家指一些方向,鼓励大家去自己摸索剩余的知识点。在这个过程中掌握学习的方法。教是为了不教。

    练习

      1. 查找其他可以查看程序运行过程中变量的值的方法。

      2. Debug.WriteLine() 将调试结果输出到调试窗口中,和很多其他信息混在一起,不是很方便查看。在网上查一下,如何让我们的调试信息输出到一个干净的窗口中?

      3. 试着调试一下以前自己写的代码。打断点,输出一些调试信息,查看程序运行过程中各个变量的值。

      4. F10,F11,F5调试的时候,如何运用?亲自尝试几次吧。以后的编程中会经常用到的。


    付费解答C#入门学习过程中碰到的各种问题。

    零基础学习C#入门,大多数的问题都可以通过自学或借助互联网解决。

    但是还是会有一些问题,不是那么容易解决,成为了你学习的绊脚石。最后甚至造成你学习的半途而废。通常学习C#编程入门,你会遇到20到30多个你不能很容易解决的问题。

    这个时候,你最需要什么呢?

    对!一个专业的老师给你帮助!

    你在学习本课程中,遇到任何问题都可以通过qq或email想本教程作者进行求助。

    只需30元你就可以得到本教程作者的三次专业解答。所以你只需不到300元就可以顺利的完成C#入门,从此推开软件行业的大门。

    付费方式非常简单:

    用微信扫描下面的二维码。在付款留言中留下你的qq号或email地址就可以啦。

    教育不是要便宜,而是要可靠!真正聪明的人,更懂得花钱让专业的人为自己服务,提高自己的效率。

    老师qq:2040227296

    老师email:2040227296@qq.com

  • 相关阅读:
    archlinux .bash_history
    Ubuntu环境下挂载新硬盘
    软碟通 UltraISO U启替代品 Win32DiskImager 无设备 无盘符 无u盘 无优盘 解决方案 之diskpart
    delphi Integer overflow
    MSBuild Tools offline
    delphi synedit免费的拼写检查器dll
    git 自定义命令行
    lua编译
    gcc ar
    Windows Subsystem for Linux (WSL)挂载移动硬盘U盘 卸载 c d 盘
  • 原文地址:https://www.cnblogs.com/thinking-jiang/p/5639481.html
Copyright © 2011-2022 走看看