System.Diagnostics.Debug.Write 출력은 어디에 나타 납니까?
다음과 같은 C # 프로그램 (로 빌드 csc hello.cs
) Hello via Console!
은 콘솔과 Hello via OutputDebugString
DebugView 창 에서만 인쇄 됩니다. 그러나 두 System.Diagnostics.*
통화 중 하나를 볼 수 없습니다 . 왜 그런 겁니까?
using System;
using System.Runtime.InteropServices;
class Hello {
[DllImport("kernel32.dll", CharSet=CharSet.Auto)]
public static extern void OutputDebugString(string message);
static void Main() {
Console.Write( "Hello via Console!" );
System.Diagnostics.Debug.Write( "Hello via Debug!" );
System.Diagnostics.Trace.Write( "Hello via Trace!" );
OutputDebugString( "Hello via OutputDebugString" );
}
}
특별한 명령 행 스위치가 필요할 수 csc
있습니까?
개발에 Visual Studio를 사용하고 있지 않습니다. 이것은 순수한 명령 줄입니다.
다른 사람들이 지적했듯이이 스트림을 읽으려면 리스너를 등록해야합니다. 또한주의 Debug.Write
경우 생성만이 기능을 DEBUG
하면서 빌드 플래그가 설정되어있는 Trace.Write
경우에만 함수한다면 TRACE
빌드 플래그가 설정됩니다.
Visual Studio의 프로젝트 속성에서 또는 csc.exe에 다음 인수를 제공 하여 DEBUG
및 / 또는 TRACE
플래그를 쉽게 설정할 수 있습니다.
/define:DEBUG;TRACE
디버깅 System.Diagnostics.Debug.WriteLine
이 출력 창 ( Ctrl+ Alt+ O)에 표시되는 동안 컬렉션에 a TraceListener
를 추가하여 다른 위치에서 출력 할 호출을 Debug.Listeners
지정할 수도 있습니다 Debug.WriteLine
.
참고 : 도구 → 옵션 → 디버깅 → 일반Debug.WriteLine
메뉴에서 Visual Studio 옵션 "즉시 모든 출력 창 텍스트를 즉시 창으로 리디렉션"이 선택된 경우 호출이 출력 창에 표시되지 않을 수 있습니다 . "표시하려면 도구 → 옵션 → 디버깅 ", "옆에있는 상자를 선택 도구 → 옵션 → 보기 모든 설정 ".
TraceListener
콘솔에 표시 되려면를 추가해야합니다 .
TextWriterTraceListener writer = new TextWriterTraceListener(System.Console.Out);
Debug.Listeners.Add(writer);
디버그 모드 일 때 Visual Studio 출력 창에도 나타납니다.
Visual Studio에서 디버깅하는 동안 "출력"창 (보기-> 출력)을 표시하십시오. 거기에 표시됩니다.
진단 메시지는 대체 텍스트 http://weblogs.asp.net/blogs/romannikitin/WindowsLiveWriter/Sys.DebuginAsp.NetAjaxFramework_3E7D/VS_debug_console_2.png에 표시됩니다 Output Window
.
내가 쓸 때 ( "") debug.write을 직접 실행 창 "이 아닌"출력 창에 "코드에서, 그것은에 출력합니다."
시도해 볼 수 있습니다. "즉시"창을 표시합니다 ( 디버그 → 창 → 즉시 ).
내 경우의 해결책은 다음과 같습니다.
- 출력 창을 마우스 오른쪽 버튼으로 클릭하십시오.
- '프로그램 출력'을 확인하십시오
VB.NET의 경우 다음이 적용됩니다. "디버그"를 선택하고 "디버깅 시작"인지 확인해야합니다. 을 눌러 도달 할 수 있습니다 F5.
또한 Console.WriteLine은 출력 창에서 "릴리스"로 빌드 할 때만 메시지를 표시합니다.
앞에서 언급했듯이 View → Output으로 Output 창을 열고 Console.WriteLine 메시지를 보려면 "Build"를 선택하고 Debug.WriteLine 또는 Trace.WriteLine 메시지를 보려면 "Debug"를 선택하십시오.
참고 URL : https://stackoverflow.com/questions/1159755/where-does-system-diagnostics-debug-write-output-appear
'programing tip' 카테고리의 다른 글
ASP.NET 웹 API를 사용하는 JSONP (0) | 2020.06.24 |
---|---|
Bash에서 마지막 명령의 출력 재사용 (0) | 2020.06.24 |
UML 클래스 다이어그램 열거 형 (0) | 2020.06.24 |
ORA-00979 표현에 의한 그룹이 아닙니다 (0) | 2020.06.24 |
콘센트를 반복 콘텐츠 iOS에 연결할 수 없습니다 (0) | 2020.06.24 |