Visual Basic .NET Language
Debugowanie aplikacji
Szukaj…
Wprowadzenie
Ilekroć masz problem z kodem, zawsze dobrze jest wiedzieć, co się dzieje w środku. Klasa System.Diagnostics.Debug w .Net Framework bardzo ci w tym pomoże.
Pierwszą zaletą klasy Debug jest to, że tworzy kod tylko wtedy, gdy budujesz aplikację w trybie debugowania. Podczas budowania aplikacji w trybie Release nie będzie generowany kod z wywołań debugowania.
Debuguj w konsoli
Module Module1
Sub Main()
Debug.WriteLine("This line will be shown in the Visual Studio output console")
Console.WriteLine("Press a key to exit")
Console.ReadKey()
Debug.WriteLine("End of application")
End Sub
End Module
będzie produkować:
Wcięcie wyjścia debugowania
Module Module1
Sub Main()
Debug.WriteLine("Starting aplication")
Debug.Indent()
LoopAndDoStuff(5)
Debug.Unindent()
Console.WriteLine("Press a key to exit")
Console.ReadKey()
Debug.WriteLine("End of application")
End Sub
Sub LoopAndDoStuff(Iterations As Integer)
Dim x As Integer = 0
Debug.WriteLine("Starting loop")
Debug.Indent()
For i As Integer = 0 To Iterations - 1
Debug.Write("Iteration " & (i + 1).ToString() & " of " & Iterations.ToString() & ": Value of X: ")
x += (x + 1)
Debug.WriteLine(x.ToString())
Next
Debug.Unindent()
Debug.WriteLine("Loop is over")
End Sub
End Module
Debuguj w pliku tekstowym
Na początku aplikacji musisz dodać TextWriterTraceListener do listy nasłuchiwania klasy Debug.
Module Module1
Sub Main()
Debug.Listeners.Add(New TextWriterTraceListener("Debug of " & DateTime.Now.ToString() & ".txt"))
Debug.WriteLine("Starting aplication")
Console.WriteLine("Press a key to exit")
Console.ReadKey()
Debug.WriteLine("End of application")
End Sub
End Module
Cały wygenerowany kod debugowania zostanie wyświetlony w konsoli programu Visual Studio ORAZ w wybranym pliku tekstowym.
Jeśli plik jest zawsze taki sam:
Debug.Listeners.Add(New TextWriterTraceListener("Debug.txt"))
Wynik będzie dołączany do pliku za każdym razem ORAZ nowy plik zaczynający się od GUID, a następnie twoja nazwa pliku zostanie wygenerowana.