콘솔, 디버그 및 추적 메시지는 모두 "출력"창에 표시되는 것처럼 보이지만 대부분의 경우에는 문제가 없지만 별도로 표시되는 추적 메시지를 원합니다 (다른 모든 메시지와 인터리브되지 않도록).). 파일/로그에 기록하지 않고이를 수행 할 수있는 방법이 있습니까?Visual C# 2008 Express에서 별도의 창에 추적 메시지를 출력 할 수 있습니까?
답변
기본적으로 추적은 TraceListener 클래스의 구현 인 DefaultTraceListener을 사용하여 출력 창에 씁니다. 다음 구성 파일에 리스너를 등록,
최소,Write()
및
WriteLine()
에서 미리 공급 대안
TraceListener
들 중 하나를 사용하거나 처리 (자신을 구현 중 하나에 당신이해야합니다 별도의 출력에 기록합니다.
다른 창에서 출력을 얻으려면 VS에서는 하나의 옵션 만 사용할 수 있습니다 : 도구 + 옵션, 디버거, 일반, "모든 출력 창 텍스트를 직접 실행 창으로 리디렉션"그러나 원하는 것은 할 수 없습니다
VS 창으로 출력하는 데 사용할 수있는 좋은 옵션이 없습니다. 유일한 메커니즘은 Windows Outp입니다 utDebugString() 디버거가 메시지를 볼 수있게하는 API 함수입니다. 이미 DefaultTraceListener에 의해 사용되고 있습니다. Visual Studio 호스팅 프로세스는 Console.Write/Line() 출력을 출력 창으로 리디렉션 할 수 있도록 지원합니다. 호스팅 방식이 CLR의 사용자 지정 호스팅 버전이라는 것 이외에는 작동 방식이 분명하지 않습니다. 너가 그것을 대체하는 것이 가능하다고 가정 할 때 무언가 너는 달려 들기를 바라지 않을 것이다.
지금까지 가장 실용적인 방법은 자체 추적 수신기를 사용하여 추적 출력을 표시하는 고유 한 창을 만드는 것입니다. 여러 줄 TextBox가 포함 된 Windows Forms 양식 클래스로 수행하기에 충분합니다. 실용적인 방법은 주 EXE의 특성에 따라 다릅니다. 또는 파일을 추적하고 파일에 대한 업데이트를 볼 정도로 스마트 한 파일 뷰어를 사용할 수 있습니다. 내가 멀리 사용합니다.
아, SysInternals의 DebugView utility이 있습니다. OutputDebugString() 텍스트를 스누핑합니다.
- 1. 출력 창에 스택 추적 인쇄
- 2. Visual Studio 2008 매크로 : 출력 창에 쓰기
- 3. Visual C++ 2008 Express에서 조건부 디버그
- 4. Visual C++ 2008 Express에서 프로젝트를 구성하는 방법
- 5. Visual C++ 2008 Express에서 BigInt 클래스 사용
- 6. MS Visual C++ 2008 Express에서 경로를 찾을 수 없습니다.
- 7. Visual Studio 2008 Tracepoint에서 JavaScript 변수를 인쇄 할 수 있습니까?
- 8. C++ 창에 텍스트 출력
- 9. Visual Studio 출력 창에 WPF 메시지가 없습니다!
- 10. Visual C++ 2008 Express에서 중단 점이 작동하지 않는 이유는 무엇입니까?
- 11. Visual C++ 2008 Express에서 특정 실행 파일 디버깅
- 12. Visual C++ 2008/2010 Express에서 Linux 콘솔 응용 프로그램 코딩
- 13. Visual Studio 2008의 속도를 어떻게 추적 할 수 있습니까?
- 14. Visual C# 2008 Express에서 디버깅에 사용할 브라우저를 지정하는 방법은 무엇입니까?
- 15. Visual C++ 2008 Express에서 cURLpp/libcurl을 사용하는 방법
- 16. Visual C++ 2008 Express, 개별 GUI 요소를 별도의 파일로 캡슐화하십시오.
- 17. Visual C# 2008 Express에 리소스를 추가 할 수 없습니까?
- 18. Grails에서 emacs 형식의 오류 메시지를 출력 할 수 있습니까?
- 19. C#에서 Visual Studio 출력 창에 컬러 텍스트를 쓰려면 어떻게해야합니까?
- 20. Visual Studio "출력"창에 쓰는 출력 스트림에 대한 참조를 어떻게 얻을 수 있습니까?
- 21. Visual Studio Express에서 게시
- 22. 어떻게 위치 정보없이 die() 메시지를 출력 할 수 있습니까?
- 23. Visual C# 2010 Express에서 HTML 지원
- 24. 추적 출력 형식 지정
- 25. Visual C# Express에서 DevExpress Toolbox가 생성되지 않음
- 26. Visual Studios Express에서 VBScript 디버깅
- 27. 명령 줄 프로젝트 업그레이드를 수행하고 Visual C# 2005에서 Visual C# 2008 Express로 컴파일 할 수 있습니까?
- 28. Visual Studio에서 이클립스처럼 서명 변경 사항을 추적 할 수 있습니까?
- 29. 메시지를 창에 보내려면 어떻게해야합니까?
- 30. GD Visual C++ 2008
나는 이것을 과거에 실제로 해왔습니다. 매우 유용합니다. 그러나이 경우 Visual Studio의 "출력"고정 가능한 창에 대해 실제로 말하고 있습니다. 콘솔, 디버그 및 추적 메시지를 개별적으로 모니터하는 것이 좋을 것입니다 (어셈블리로드 및 첫 번째 예외 메시지가있는 해당 창에도 모두 덤프 됨). – Pwninstein
예, Visual Studio 플러그인을 작성하여 각각에 대해 별도의 창을 제공 할 수 있으며 사용자 정의 TraceListeners와 함께 플러그인에 출력을 보낼 수 있습니다. 그러나 기본적으로'DefaultTraceListener'는'Output' 윈도우에만 독점적으로 씁니다. Visual Studio는 응용 프로그램의 Listeners 컬렉션에 그것을 추가합니다. 그래서 원하는 것을 얻는 포인트 앤 클릭 방식이 없습니다. – STW
디버그 출력 창에 어셈블리로드 및 첫 번째 예외가 덤프되지 않도록 '해제'합니다. 해당 창에서 마우스 오른쪽 버튼을 클릭하고 팝업 메뉴의 맨 아래에서 예외 표시 및 모듈로드 및 언로드 메시지를 끄는 옵션이 표시됩니다. –