수색…


소개

코드에 문제가있을 때마다 내부에서 진행되고있는 작업을 파악하는 것이 좋습니다. .Net Framework의 System.Diagnostics.Debug 클래스는이 작업에서 많은 도움이됩니다.

Debug 클래스의 첫 번째 이점은 디버그 모드에서 응용 프로그램을 빌드하는 경우에만 코드를 생성한다는 것입니다. 릴리스 모드에서 응용 프로그램을 빌드하면 디버그 호출에서 코드가 생성되지 않습니다.

콘솔에서 디버그

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

생산할 것이다 :

Visual Studio에서 디버그 출력 창

디버그 출력 들여 쓰기

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

생산할 것이다 : 들여 쓰기 할 때 출력

텍스트 파일에서 디버그

응용 프로그램을 시작할 때 TextWriterTraceListener 를 Debug 클래스의 Listeners 목록에 추가해야합니다.

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

생성 된 모든 디버그 코드는 Visual Studio 콘솔과 선택한 텍스트 파일에서 출력됩니다.

파일이 항상 같은 경우 :

Debug.Listeners.Add(New TextWriterTraceListener("Debug.txt"))

출력은 매번 파일에 추가되고 GUID로 시작하는 새 파일이 생성되고 파일 이름이 생성됩니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow