2012-05-13 4 views
0

Debug.WriteLine(someinfo) 프로젝트를 디버깅하는 동안 어떤 메커니즘이 있습니까? 확인란을 선택하지 않으면이 debug.writeline (someinfo)가 호출되지 않습니다. 고 싶어요. 나는 작은 데이터에 대한 디버그 정보를보고 싶지만 큰 데이터에서는 모든 debug.writelines를 주석 처리하지 않고 해제 할 수 있습니다. 그런 것들이 Visual Studio에서 사용할 수있는 #DEBUG/preprocessor 플래그입니까? 내가보고 싶고 어떤 종류의 플래그에 따라 debug.writelines를 보지 않을 때 나는 여전히 "Debug"컨텍스트에 있습니다.Visual Studio 디버깅, 참조/보지 않음 debug.writelines

+0

출력 창을보고 있지 않다는 것을 의미합니까? –

+0

나는 수동으로 주석 처리하지 않고 모든 Debug.WriteLines을 기본적으로 주석 처리하고 싶습니다. – iefpw

답변

1

새 빌드 구성을 만들 수 있습니다 (예 : 디버그 기반, 이름은 DEBUG_NO_TRACE). 당신이 속성을 (탭 빌드) 프로젝트에

디버그

에서

메뉴 빌드 활성 솔루션 구성에서 => ConfigurationManager가

, 새로운 선택, 복사 설정 그리고 새로운 프리 프로세서 플래그 #DEBUG_NO_TRACE을 만들 수 있습니다.

그리고 차이점을 알고 싶은 곳에 #IF DEBUG_NO_TRACE을 입력하십시오.

그리고 필요할 때 구성을 빌드하는 chosse.

그러나 더 우아한 해결책은 아마도 거기에 ...

+0

아마도 전 처리기 플래그가 정의 된 경우에만'Debug.WriteLine'을 호출하는 간단한 래퍼 메소드를 생성 할 수 있습니다. 물론 그는 기존 전화를 거쳐 새로운 방법으로 라우팅해야합니다. – Tung

+0

. 그러나 새로운 Build 및 Preprocessor 플래그를 작성하는 것은 내 응답과 동일하거나 뭔가 놓쳤습니까? –

3

가능한 옵션 :

  • 마우스 오른쪽 단추로 클릭하고 빌드, 출력 창을 "프로그램 출력"옵션을
  • 프로젝트 + 속성을 선택 취소 탭 "디버그 상수 정의"옵션을 해제하고 다시 작성하십시오.
  • 메인 메소드에 Trace.Listeners.Clear();을 추가하십시오.
관련 문제