提问与回答 VS2017中C#控制台编程的调试基础示例

来源:互联网 发布:软件如何设计接口 编辑:程序博客网 时间:2024/06/03 14:52

提问:

        我每次从main方法进去,然后就一直走,跳进了循环有时候出不来,也不知道怎么处理,并且根本还不会用红点测试,只知道按F11,求大神赐教,尽快拯救我吧。经常走着走着就忘了代码的逻辑了,还想问一下做断点测试需要了解代码逻辑吗


回答:

        我的VS版本是2017 community,在调试上 非常方便,工欲善其事必先利其器,推荐安装最新的VS。

        用这份代码进行 调试演示,

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApp1{    class Program    {        static void Main(string[] args)        {            for (int i = 0; i < 100; i++)            {                Console.WriteLine(i);            }            Console.WriteLine("a");            Console.WriteLine("b");            Console.WriteLine("c");            Console.ReadKey();        }    }}


        一、当单步调试时,进入到了循环中,如何跳出来?

首先进行单步调试F11,



跳进循环中,

        然后,我也发现 进入到循环中,使用F11单步调试的话,跳出循环就变得不容易。


那么,在循环外面新建一个 红色的断点,


         按F5,执行到断点处(断点行的代码并不执行)

    

       F11、断点、F5配合起来用,就可以跳出循环,到达想要去的地方了。



二、红点测试

         红点(断点) 配合 F5使用。你就看上面的代码,for循环打印0-99已经测试完成,没有任何问题了。那么,在进行这个程序的测试时,就不用测试循环部分的代码了。

那么就可以在循环部分的下一行,建立一个断点。


            然后按F5,一次性执行完断点之前的所有代码,效果如下:

 

          是不是很方便?


三、在调试的时候,走着走着就忘记逻辑了。

        这个证明你的代码设计的功夫需要加强,请看下面的代码

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApp1{    class Program    {        static void Main(string[] args)        {            PrintCSDN();//CSDN            PrintShi();//师            PrintWan();//万            PrintWu(); //物            Console.ReadKey();        }        /// <summary>        /// 向控制台打印"CSDN"        /// </summary>        static void PrintCSDN()        {            Console.WriteLine("CSDN");        }        /// <summary>        /// 向控制台打印"师"字        /// </summary>        static void PrintShi()        {            Console.WriteLine("师");        }        /// <summary>        /// 向控制台打印"万"字        /// </summary>        static void PrintWan()        {            Console.WriteLine("万");        }        /// <summary>        /// 向控制台打印"物"字        /// </summary>        static void PrintWu()        {            Console.WriteLine("物");        }    }}

        每个函数实现的功能数量要把握好度,不能说一个函数实现了四五个功能。PrintWu()函数 就只进行 想控制台打印"物"字。

        注释要写好,便利他人 也 便利自己。

        在调试的时候,可以清楚的知道每个函数是否顺利完成了任务。


        进行简单的示例:


          我用单步调试F11,测试了PrintCSDN函数,这个函数的功能是 打印"CSDN",结果发现 这个函数运行正常。我在接着往下进行测试,出现了问题后,只修改一个函数即可。/*程序设计时,有个特点叫做"高内聚 低耦合",你可以去了解一下。类的设计也是有模板的。设计一个优秀的类 事半功倍。*/

        

四、关于代码逻辑

        你在书写代码时,要注上简洁明了的注释,这样做的话,在调试时 代码的逻辑就可以跟上了。


五、"求大神赐教,尽快拯救我吧"

        对于新手来说,要意识到,知识是求来的,所以请教他人的时候 态度一定要恭敬。为什么?大家都是辛苦努力之后,才学会一些知识的。如果是以  你欠我的,我不会你就该教的态度 来问问题,那么多半会得到 "自己查去,我很忙" 的回复。

        对于前辈来说,要意识到  现在世界是我的,但是将来世界一定是 这些新手的。对于态度恭敬,懂得感恩的后辈要耐心去引导,因为你会发现 帮来帮去,会帮到自己。

      

原创粉丝点击