programing

Debug.WriteLine이 작동하지 않습니다.

starjava 2023. 5. 12. 20:08
반응형

Debug.WriteLine이 작동하지 않습니다.

Visual Studio의 이전 버전인 2008년 이전 버전에서는 VB에서 이와 같은 작업을 수행했습니다.NET 코드:

System.Diagnostics.Debug.WriteLine("Message")

..출력이 출력 창으로 이동합니다.

지금은 그렇지 않습니다.먼저 무언가를 사용하도록 설정해야 합니다.

만약 이것이 "디버거 연결"과 관련이 있다면, 그것을 하는 방법을 설명해 주세요.제가 보기에는 너무 소란스럽지 않게 작동해야 할 것 같습니다.

다음은 실시간으로 문제를 설명하고 모든 설정을 보여주는 비디오입니다.

http://screencast.com/t/YQnPb0mJcs

Visual Studio 2008을 사용하고 있습니다.

[도구] - > [옵션] - > [디버깅] - > [일반]에서 "모든 출력 창 텍스트를 즉시 창으로 리디렉션"이 선택되어 있는지 확인합니다.

또는 다음을 사용할 수 있습니다.Console.WriteLine()기능도 합니다.

출력 창을 마우스 오른쪽 버튼으로 클릭하고 "Program output"(프로그램 출력)이 선택되어 있는지 확인합니다.

모든 좋은 제안.이 팁이 언급되지 않았다는 것을 알게 되었으므로 다음과 같이 말하겠습니다.app.config 파일에서 추적 수신기에 요소가 없는지 확인합니다.

디버그 문에 사용되는 기본 추적 수신기를 포함하여 추적 수신기 목록을 효과적으로 지웁니다.

다음은 당신의 app.config 파일의 모습입니다.

<system.diagnostics>
    <trace>
      <listeners>
          <!-- This next line is the troublemaker.  It looks so innocent -->
          <clear/>
      </listeners>
    </trace>
  </system.diagnostics>

app.config 파일에 추적 수신기에 대한 자리 표시자를 지정하려면 대신 다음과 같은 것을 사용해야 합니다.

<system.diagnostics>
    <trace>
      <listeners>
      </listeners>
    </trace>
  </system.diagnostics>

DEBUG 상수가 정의되어 있습니까?프로젝트 속성 -> 컴파일 -> 고급 컴파일 옵션에서 확인합니다(DEBUG 상수에 대한 확인란이 있음).이 옵션을 선택하지 않으면 디버그입니다.XXX 문은 실행되지 않습니다.

앱이 릴리스 구성이 아닌 디버그 구성으로 컴파일된 경우 출력 창으로 이동합니다.하지만 대신에Debug.WriteLine()사용해 보다Trace.WriteLine()(선택적으로 a와 함께)ConsoleTraceListener첨부).

시도하거나 확인해야 할 몇 가지 추가 아이디어:

  • 디버그 전에 중단점을 지정합니다.라인을 작성하고 시스템에 무엇이 있는지 확인합니다.진단.추적, 청취자 수집DefaultTraceListener가 표시됩니다.아무것도 보이지 않으면 아무도 듣지 않습니다. 그게 문제입니다.
  • 추적 수신기가 구성 파일이나 코드와 같은 어딘가에서 삭제/수정될 수 있습니까?
  • Visual Studio에 설치한 패키지 또는 추가 기능이 있습니까?타사 라이브러리를 사용할 수도 있습니다.
  • VS 밖에서 디버그 메시지를 볼 수 있습니까?시스템에서 디버깅 출력을 모니터링하고 표시하는 DebugView라는 SysInternals 응용 프로그램이 있습니다.해당 도구를 실행한 다음 응용 프로그램을 실행합니다.디버그 보기에 디버그 메시지가 표시됩니다.적어도 응용 프로그램이 디버그 메시지를 출력하고 있지만 VS가 수신하지 않는 것 같습니다.
  • 출력 창의 내용을 검토하여 보고되는 예외나 오류가 있는지 확인해 보았습니까?디버그 출력은 없지만 몇 가지 단서를 제공할 수 있는 것이 있을 수 있습니다.

즉시 창을 확인합니다.모든 출력이 리디렉션되었을 수 있습니다.

저에게 이것은 디버그라는 사실이었습니다.WriteLine은 Output이 아닌 Immediate 창에 표시됩니다.기본적으로 Visual Studio 2013을 설치하면 즉시 창을 여는 옵션도 표시되지 않으므로 다음을 수행해야 합니다.

Select Tools → Customize 
Commands Tab
View | Other Windows menu bar dropdown
Add Command...
The Immediate option is in the Debug section.

OK(확인)가 완료되면 View(보기) → Other Windows(기타 윈도우) 메뉴로 이동하여 Immediate Window(즉시 창)를 선택하면 모든 디버그 출력이 표시됩니다.

유감스럽게도 제가 프로젝트에서 인지하지 못했던 약 50개의 오류를 보여주었습니다.아마 다시 끌 것 같아요 :-)

그것은 일어난다.ASP를 개발할 때도 비슷한 증상이 있습니다.Visual Studio 2010 웹 개발자 Express Edition의 NET MVC 응용 프로그램입니다.실행은 중단점에서 중단되지 않습니다. 시 .System.Diagnostic.Debug.Writeline start와 되지만), (debug start와 함께 실행됨), 그리고 아무 .web.config.

해결 방법은 - 프로젝트 속성으로 이동 --> 웹 - 디버거 섹션에서 ASP를 확인합니다.NET 옵션

이것이 이 실타래를 만나는 사람에게 도움이 되기를 바랍니다.

저는 ASP에서도 같은 문제를 겪고 있었습니다.NET 어플리케이션, 그리고 저는 제 웹을 발견했습니다.구성의 행은 다음과 같습니다.

<system.web>
    <trace enabled="false"/>
</system.web>

true로 했는데, 냥그사로바나보, 시고는기작어했야꾼거그실리▁the,어▁just시했작,▁seeing보기▁started.Debug.WriteLineOutput창문

Visual Studio 2013과 MS 유닛 테스트에서도 비슷한 문제가 있었습니다.장치 테스트 방법을 마우스 오른쪽 단추로 클릭하고 실행 디버그 테스트를 선택합니다.WriteLine 호출은 바로 창이나 디버그 출력 창에 나타나지 않습니다.제가 테스트하던 라이브러리와 유닛 테스트 프로젝트 자체가 재프로젝트 속성의 빌드 섹션에서 DEBUG 조건부 확인을 받았습니다.

디버그를 위한 순서입니다.WriteLine 문을 사용하면 장치 테스트를 실행하는 데 필요한 모든 항목을 마우스 오른쪽 단추로 클릭하고 디버그 테스트를 선택하여 출력할 수 있습니다.그때서야 디버그 출력 창에 기록되는 디버그 출력을 받았습니다.

Visual Studio Express 2010에서도 동일한 문제가 발생했습니다.디버그 기계에 새로 설치했는데 어떤 제안도 효과가 없었습니다.저는 해결책으로 NLog를 사용하고 텍스트 파일에 기록하게 되었습니다.

를 눌러 디버깅 시작 모드(+F5가 아님)를 시작해야 합니다.

F5 디버깅을 시작하는 중

CTRL디버깅F5 없이 시작

언급URL : https://stackoverflow.com/questions/1370449/debug-writeline-not-working

반응형