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:[email protected]

时间: 2024-10-24 23:32:48

21 调试我们的C#程序的相关文章

调试 Android* x86 应用程序的方法以及要使用的工具

作者:Xiaodong Wang 1.简介 众所周知,Android* 开发人员头顶许多称呼:设计员.程序猿等,并且通常会不可避免地被称为故障检修工.代码中的错误无法避免,因此无论您是否一开始就造成错误,了解调试工具以及如何迅速而有效地跟踪并解决错误都很重要.鉴于此,如今的 Android 开发人员必须掌握有效的调试技巧.本文提供了 Android 应用程序调试工具的简单教学,用于帮助 Android SDK 以及相关工具的新手迅速入门,并在 Android x86 平台上更有效地解决故障. 2

Azure编程笔记(3):用Fiddler调试Azure的应用程序

 内容提要 Azure的服务是通过RESTfulAPI提供的.虽然Azure针对很多编程语言都提供了SDK,但这些SDK也只是RESTfulAPI的一层封装.在调用SDK或者RESTfulAPI出错时,我们需要使用调试工具来分析并解决问题.Fiddler是一款功能强大的免费工具,我们可以使用Fiddler来调试Azure的应用程序.本文展示如何用Fiddler调试一个常见的访问Storage的问题. 问题描述 在前面的两篇博客中,我们模拟社交网站定义了一个Account类型.本文我们继续以A

gdb调试运行时的程序小技巧

使用gdb调试运行时的程序小技巧 标签: 未分类 gdb pstack | 发表时间:2012-10-15 04:32 | 作者:士豪 分享到: 出处:http://rdc.taobao.com/blog/cs 原创文章,欢迎转载.转载请注明:转载自淘宝核心系统团队博客,谢谢! 原文链接地址: 使用gdb调试运行时的程序小技巧 下面介绍我调试时经常遇到的三种问题,如果大家也有类似的问题交流一下解决方法: 情景1:在不中止程序服务的情况下,怎么调试正在运行时的程序 情景2:需要同时看几个变量的值或

IOS中生成证书、真机调试、上线发布程序的步骤

前言:学习ios开发快一年了生成证书,真机调试,程序上线发布的总结,现在我来写下相关的步骤和心得: 真机调试现在没有苹果开发账号的情况下也是可以实现,现在我们叫的是有苹果开发者账号的情况来说明的这个问题: 开发账号的区别: 1.99美元的个人账号:只要去苹果官网付款就行了,但是你的信用卡要的支付外汇的才行的,这里推荐一个淘宝链接购买开发者账号:(http://tmqd.me/h.ZZTHi6?cv=AAFjfvYB&sm=4ce1c5). 2.99美元的企业账号:这个注册有点麻烦,需要邓白氏编码

调试---调试正在运行的程序

void fun() { int b = 0; b++; } int main(int argc, char** argv) { while (1) { int a = 0; a++; fun(); } } main.cpp 1. 运行上面程序                               ./main 2. 查看上面程序进程号, 假设为1234     ps aux | grep main  3. gdb调试, attach上面进程               gdbtui  m

[转]使用gdb调试运行时的程序小技巧

原创文章,欢迎转载.转载请注明:转载自淘宝核心系统团队博客,谢谢!原文链接地址:使用gdb调试运行时的程序小技巧 下面介绍我调试时经常遇到的三种问题,如果大家也有类似的问题交流一下解决方法:情景1:在不中止程序服务的情况下,怎么调试正在运行时的程序情景2:需要同时看几个变量的值或者批量查看多个core文件的堆栈信息怎么办情景3:遇到需要查看.队列.链表.树.堆等数据结构里的变量怎么办1. 情景1:在不中止程序服务的情况下,怎么调试正在运行时的程序我们在生产环境或者测试环境,会遇到一些异常,我们需

VSC调试.NET Core 应用程序

VS Code 从零开始开发并调试.NET Core 应用程序 使用VS Code 从零开始开发并调试.NET Core 应用程序,C#调试. 上一篇 使用VS Code开发 调试.NET Core 应用程序 得到了大家的支持. 现在为大家带来从零开始教程,让你更好的了解.NET Core 应用程序.使用VS Code 开发C# 程序 并调试程序. 并且也会解决上一篇所遗留的一些问题. 环境安装 本文开发的实际环境: win10 x64 VSCode 1.0 下载 .NET Core SDK I

运用Xdebug调试和优化PHP程序

什么是Xdebug? Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况.Xdebug现在的最新版本是xdebug 2.0.0beta6,支持PHP4/PHP5. 官方站点:www.Xdebug.org 如何安装Xdebug? 以PHP5.1.4,Windows平台为例(其它PHP版本,其它平台请参看官网文档): php下搭配使用xdebug是十分好的组合,用于php的调试工作,下面分别介绍之: 1 WINDOWS下的安装 下载站

gdb调试带参数的程序

gdb调试带参数的程序 解决方案: gdb --args ./app arg1 arg2