Visual Studio 除錯(系列文章)
阿新 • • 發佈:2019-07-25
除錯是軟體開發過程中非常重要的一個部分,它具挑戰性,但是也有一定的方法和技巧。
Visual Studio 除錯程式有助於你觀察程式的執行時行為並發現問題。 該偵錯程式可用於所有 Visual Studio 程式語言及其關聯的庫。 使用除錯程式時,可以中斷程式的執行以檢查程式碼、檢查和編輯變數、檢視暫存器、檢視從原始碼建立的指令,以及檢視應用程式佔用的記憶體空間。
本系列以 Visual Studio 2019 來演示除錯的方法和技巧。希望能幫助大家掌握這些技巧。它們都很簡單,卻能幫你節約大量的時間。
除錯方法與技巧 Visual Studio 除錯系列1 Debug 與 Release 模式 Visual Studio 除錯系列2 基本除錯方法 示例程式 後續的除錯以下面的程式為示例進行演示說明。1 using System; 2 using System.Collections.Generic; 3 4 namespace Demo002_NF45_CS50 5 { 6 class Program 7 { 8 static void Main(string[] args) 9 { 10 var shapes = new List<Shape> 11 { 12 new Triangle(4,3), 13 new Rectangle(7,4), 14 new Circle(), 15 16 }; 17 18 foreach (var shape in shapes) 19 { 20 shape.Width = 10; 21 shape.Draw(); 22 23 int num1 = 2, num2 = 0; 24 num1 = num1 / num2; 25 26 Console.WriteLine(); 27 } 28 29 Console.WriteLine("Press any key to exit."); // 在除錯模式下保持控制檯開啟 30 Console.ReadKey(); 31 } 32 } 33 34 #region 除錯示例 35 36 /// <summary> 37 /// 繪圖類(基類) 38 /// </summary> 39 public class Shape 40 { 41 #region 屬性 42 43 /// <summary> 44 /// X 軸座標 45 /// </summary> 46 public int X { get; private set; } 47 48 /// <summary> 49 /// Y 軸座標 50 /// </summary> 51 public int Y { get; private set; } 52 53 /// <summary> 54 /// 圖形高度 55 /// </summary> 56 public int Height { get; set; } 57 58 /// <summary> 59 /// 圖形寬度 60 /// </summary> 61 public int Width { get; set; } 62 63 #endregion 64 65 // 繪製圖形(虛方法) 66 public virtual void Draw() 67 { 68 Console.WriteLine("Performing base class drawing tasks");// 執行基類繪圖任務 69 } 70 } 71 72 /// <summary> 73 /// 圓形 74 /// </summary> 75 class Circle : Shape 76 { 77 public override void Draw() 78 { 79 Console.WriteLine("Drawing a circle"); // 繪製一個圓 80 base.Draw(); 81 } 82 } 83 84 /// <summary> 85 /// 矩形 86 /// </summary> 87 class Rectangle : Shape 88 { 89 public Rectangle() 90 { 91 92 } 93 94 public Rectangle(int width, int height) 95 { 96 Width = width; 97 Height = height; 98 } 99 100 public override void Draw() 101 { 102 Console.WriteLine("Drawing a rectangle"); // 繪製一個矩形 103 base.Draw(); 104 } 105 } 106 107 /// <summary> 108 /// 三角形 109 /// </summary> 110 class Triangle : Shape 111 { 112 public Triangle() 113 { 114 115 } 116 117 public Triangle(int width, int height) 118 { 119 Width = width; 120 Height = height; 121 } 122 123 public override void Draw() 124 { 125 Console.WriteLine("Drawing a trangle");// 繪製一個三角形 126 base.Draw(); 127 } 128 } 129 130 #endregion 131 }