Programing

스레드가 처리되지 않은 예외없이 코드 0 (0x0)으로 종료되었습니다.

lottogame 2020. 10. 8. 07:40
반응형

스레드가 처리되지 않은 예외없이 코드 0 (0x0)으로 종료되었습니다.


내 C # 애플리케이션을 디버깅하는 동안 다음 문장이 많이 발생하는 것을 발견했습니다.

스레드는-코드 0 (0x0)으로 종료되었습니다.

애플리케이션은 계속 작동하며 예외가 포착되거나 처리되지 않습니다.

응용 프로그램은 Windows 7 64 비트에서 실행되고 x86 플랫폼으로 디버깅됩니다.


이것은 단지 디버깅 메시지입니다. 출력 창을 마우스 오른쪽 버튼으로 클릭하고 선택을 취소하여 끌 수 있습니다 Thread Exit Messages.

http://msdn.microsoft.com/en-us/library/bs4c1wda.aspx

애플리케이션에서 프로그래밍하는 것 외에도 출력 창에는 다음에 대한 정보가 표시 될 수 있습니다.

  • 디버거가로드하거나 언로드 한 모듈입니다.

  • throw되는 예외입니다.

  • 종료되는 프로세스.

  • 종료되는 스레드.


글쎄, 응용 프로그램에는 병렬로 실행되는 많은 스레드가있을 수 있습니다. 일부는 코더에 의해 실행되고 일부는 프레임 워크 클래스에 의해 실행됩니다 (특히 GUI 환경에있는 경우).

스레드가 작업을 완료하면 종료되고 존재하지 않습니다. 즉, 여기에는 놀라운 것이 없으며 신경 쓰지 말아야합니다.


BlueM의 수락 된 답변을 완료하려면 여기에서 비활성화 할 수 있습니다.

도구> 옵션> 디버깅> 일반 출력 설정> 스레드 종료 메시지 : 끄기


응용 프로그램이 스레드를 직접 또는 간접적으로 사용하는 경우 (즉, 타사 라이브러리에서와 같이 장면 뒤에서) 스레드가 완료된 후 종료되는 것이 절대적으로 일반적입니다. 기본적으로 설명하는 내용입니다. 디버거에이 메시지가 표시됩니다. ... 원하지 않는 경우이 메시지를 표시하지 않도록 디버거를 구성 할 수 있습니다.

위의 내용이 도움이되지 않는 경우 문제가 정확히 무엇인지 확실하지 않으므로 자세한 정보를 제공해주세요.


프레임 워크는 사용자가 생성 한 각 창을 지원하는 스레드를 생성합니다 (예 : Form을 생성하고이를 .Show () 할 때). 창이 닫히면 스레드가 종료됩니다 (즉, 종료).

이것은 정상적인 동작입니다. 그러나 응용 프로그램이 스레드를 생성하고 이러한 스레드에 해당하는 스레드 종료 메시지가 많이있는 경우 (앱에서 고유 한 이름을 지정하여 스레드 이름으로 알 수 있음) 아마도 이것은 문제를 나타냅니다. 프로그램 로직 오류로 인해 스레드를 생성하지 않아야 할 때 앱에서 스레드를 생성합니다.

원본 포스터가 서버 충돌 문제와 관련하여 발견 한 내용을 알려주는 것은 흥미로운 후속 조치입니다. 이것과 아무 관련이 없을 것 같은 느낌이 들지만 게시 된 정보로는 알기 어렵습니다.


Linq 쿼리를 실행하면 추가 스레드가 생성 될 수 있습니다. 직접 실행 창에서 Linq 쿼리 컬렉션을 사용하는 코드를 실행하려고하면 디버거에서 사용할 수있는 스레드가 충분하지 않기 때문에 실행을 거부하는 경우가 많습니다.

다른 사람들이 말했듯이 스레드가 완료되면 종료되는 것은 완벽하게 정상입니다.

참고 URL : https://stackoverflow.com/questions/12410548/the-thread-has-exited-with-code-0-0x0-with-no-unhandled-exception

반응형