zoukankan      html  css  js  c++  java
  • C#调试程序——断点+几种观察数据的方法

    C#调试程序——断点+观察数据的方法

    1.写本文的背景

    因为程序的调试非常重要,他可以让自己不断地利用Visual Studio的强大去查找定位自己的问题所在之处。从而,达到纠正自己程序错误的地方,健壮自己的程序,让问题变得越来越少,程序变得越来越健康。故作此文,而且日后会将实用的调试程序方法不断进行迭代更新。

    2.调试与测试

    调式与测试实际有异曲同工之妙,只不过对象不同。测试面向的是产品级,系统级;而调试往往是程序里的某一部分,某个方法,某个属性或者对象。最终效果也很类似,好的测试人员,测试方案可以将产品系统的问题解决在摇篮中;好的调试方法也会让你对程序的运行理解更深刻,对问题的查找定位变得更容易,让软件运行得更稳定。

    3.断点调试

    3.1 F10

    单步调试,会跳过自定义方法。

    3.2 F11

    单步调试,会进入自定义方法执行调试。

    3.3 SHIFT+F11

    跳出当前方法。

    当鼠标停留在某变量上面的时候,会显示它的赋值情况

    4.监视

    4.1 按照1方法打断点,单步调试。

    4.2 打开监视窗口

    4.3 输入变量

    在监视窗口输入要监视的对象或者属性,点击回车。

    4.4展开监视对象

    展开监视对象,在监视窗口可以观察关心的数据。

    5.即时窗口

    5.1 输入对象或者属性

    输入之后,点击回车。

    5.2 观察数据

    在即时窗口观察关心的数据。

    6. 局部变量

    6.1 局部变量窗口

    如下路径打开局部变量窗口。

    6.2 显示变量

    对应的输出窗口会把所有的当前方法的局部变量进行自动显示。你也可以再此窗口中找到你关心的数据进行展开显示。

    7. 输出窗口

    7.1 打开输出窗口

    打开输出窗口如下图路径

    7.2 Debug输出指令

    这里需要将视图对象(即json序列)对象进行序列化。

    7.3 数据输出成功如下

    8 C#计算一段代码的运行时间

    利用System.DateTime.Now:

    static void SubTest()
    {
      DateTime beforDT = System.DateTime.Now;
      
      //耗时巨大的代码
      
      DateTime afterDT = System.DateTime.Now;
      TimeSpan ts = afterDT.Subtract(beforDT);
      Console.WriteLine("所测试代码总共花费{0}ms.", ts.TotalMilliseconds);
    }
    

    9 Assert数据断点

    在Nunit测试框架下(或者XUnit,MSTest都是同理)

            [Test]
            public void ColumnsShouldBeAutoGeneratedIfNoColumnsAreSpecified()
            {
                var package = _personList.ToPackage();
                Assert.AreEqual(3,package.Workbook.Worksheets[1].Dimension.Columns);
            }
    

    Assert.AreEqual(3,package.Workbook.Worksheets[1].Dimension.Columns);
    表示当package.Workbook.Worksheets[1].Dimension.Columns值等于3时,测试通过;不等于3时,在此处报错。

  • 相关阅读:
    14 循环结构
    12.Maps
    11 Lists
    10 正则表达式
    8 Operator overloading
    9 Strings
    7 数据类型
    6 GPath
    4 练习: 使用eclipse开发
    5 类、对象、方法
  • 原文地址:https://www.cnblogs.com/JerryMouseLi/p/11031951.html
Copyright © 2011-2022 走看看