내보내기(0) 인쇄
모두 확장

Debug 클래스

코드를 디버깅하는 데 필요한 메서드 및 속성 집합을 제공합니다. 이 클래스는 상속될 수 없습니다.

네임스페이스: System.Diagnostics
어셈블리: System(system.dll)

public sealed class Debug
public final class Debug
public final class Debug

Debug 클래스의 메서드를 사용하여 디버깅 정보를 출력하고 어설션으로 논리를 확인하면 최종 제품의 성능과 코드 크기에 영향을 주지 않고 더 강력한 코드를 만들 수 있습니다.

Visual Studio 2005 프로젝트에서 디버그 빌드를 만들면 Debug가 활성화됩니다. Debug를 비활성화하는 방법에 대한 내용은 Visual Studio 2005 설명서를 참조하십시오.

이와는 반대로 Visual Studio 2005 프로젝트에서는 기본적으로 Trace가 릴리스 및 디버그 빌드 모두에 대해 활성화되어 있으므로 릴리스 및 디버그 빌드의 모든 추적 메서드에 대해 코드가 생성됩니다. 따라서 Trace를 사용하여 릴리스 빌드를 테스트할 수 있습니다.

이 클래스는 Assert 대화 상자를 표시하는 메서드와 항상 실패하는 어설션을 내보내는 메서드를 제공합니다. 또한 이 클래스는 Write , WriteLine , WriteIfWriteLineIf와 같은 변형된 Write 메서드를 제공합니다.

BooleanSwitchTraceSwitch 클래스는 추적 출력을 동적으로 제어하는 방법을 제공합니다. 응용 프로그램을 다시 컴파일하지 않고도 이들 스위치 값을 수정할 수 있습니다. 구성 파일을 사용하여 스위치를 설정하는 방법에 대한 자세한 내용은 Switch 클래스 및 추적 스위치 항목을 참조하십시오.

Listeners 컬렉션에서 TraceListener 인스턴스를 추가하거나 제거하여 추적 출력 대상을 사용자 지정할 수 있습니다. 기본적으로 DefaultTraceListener 클래스에서 추적 출력을 내보냅니다.

Indent 메서드 또는 IndentLevel 속성을 사용하여 들여쓰기 수준을 수정할 수 있습니다. 들여쓰기 간격을 수정하려면 IndentSize 속성을 사용합니다. 쓰기가 끝날 때마다 출력 버퍼를 자동으로 플러시하려면 AutoFlush 속성을 true로 설정합니다.

DebugAutoFlushIndentSize를 설정하려면 응용 프로그램 이름과 일치하는 구성 파일을 편집합니다. 구성 파일의 형식은 다음 예제와 같아야 합니다.

 <configuration>
     <system.diagnostics>
        <trace autoflush="true" indentsize="7" />
     </system.diagnostics>
  </configuration>
Note참고

C#에서 디버깅을 활성화하려면 코드를 컴파일할 때 /d:DEBUG 플래그를 컴파일러 명령줄에 추가하거나, #define DEBUG를 파일 맨 위에 추가합니다. Visual Basic을 사용하는 경우 컴파일러 명령줄에 /d:DEBUG=True 플래그를 추가합니다. C++에서 동일한 기능을 제공하려면 이 클래스의 메서드에 대한 호출을 #ifdef DEBUG... #endif 블록으로 묶어야 합니다. 이 구문은 컴파일러 관련 구문입니다. 조건부 컴파일 특성은 Debug 메서드에 배치되기 때문에 위에서 지정한 컴파일러 이외의 컴파일러를 사용하는 경우 해당 컴파일러의 설명서를 참조하여 조건부 컴파일을 활성화해야 합니다.

다음 예제에서는 Debug를 사용하여 프로그램 실행의 시작과 끝을 보여 줍니다. 또한 이 예제에서는 IndentUnindent를 사용하여 추적 출력을 구분합니다.

static int Main(string[] args)
{
   Debug.Listeners.Add(new TextWriterTraceListener(Console.Out));
   Debug.AutoFlush = true;
   Debug.Indent();
   Debug.WriteLine("Entering Main");
   Console.WriteLine("Hello World.");
   Debug.WriteLine("Exiting Main"); 
   Debug.Unindent();
   return 0;
}


System.Object
  System.Diagnostics.Debug

이 형식은 다중 스레드 작업을 수행하는 데 안전합니다.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

커뮤니티 추가 항목

추가
Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft