내 C # 애플리케이션을 디버깅하는 동안 다음 문장이 많이 발생하는 것을 발견했습니다.
스레드-코드 0 (0x0)으로 종료되었습니다.
애플리케이션은 계속 작동하며 예외가 포착되거나 처리되지 않습니다.
응용 프로그램은 Windows 7 64 비트에서 실행되고 x86 플랫폼으로 디버깅됩니다.
답변:
이것은 단지 디버깅 메시지입니다. 출력 창을 마우스 오른쪽 버튼으로 클릭하고 선택을 취소하여 끌 수 있습니다 Thread Exit Messages.
http://msdn.microsoft.com/en-us/library/bs4c1wda.aspx
애플리케이션에서 프로그래밍하는 것 외에도 출력 창에는 다음에 대한 정보가 표시 될 수 있습니다.
디버거가로드하거나 언로드 한 모듈입니다.
throw되는 예외입니다.
종료되는 프로세스.
종료되는 스레드.
음, 응용 프로그램에는 병렬로 실행되는 많은 스레드가있을 수 있습니다. 일부는 코더에 의해 실행되고 일부는 프레임 워크 클래스에 의해 실행됩니다 (특히 GUI 환경에있는 경우).
스레드가 작업을 완료하면 종료되고 존재하지 않습니다. 즉, 여기에는 놀라운 것이 없으며 신경 쓰지 말아야합니다.
BlueM의 수락 된 답변을 완료하려면 여기에서 비활성화 할 수 있습니다.
도구> 옵션> 디버깅> 일반 출력 설정> 스레드 종료 메시지 : 끄기
프레임 워크는 사용자가 생성 한 각 창을 지원하는 스레드를 생성합니다 (예 : Form을 생성하고이를 .Show () 할 때). 창이 닫히면 스레드가 종료됩니다 (즉, 종료).
이것은 정상적인 동작입니다. 그러나 응용 프로그램이 스레드를 생성하고 이러한 스레드에 해당하는 스레드 종료 메시지가 많이있는 경우 (앱에서 고유 한 이름을 지정하여 스레드 이름으로 알 수 있음) 아마도 이것은 문제를 나타냅니다. 프로그램 로직 오류로 인해 스레드를 생성하지 않아야 할 때 앱에서 스레드를 생성합니다.
원본 포스터가 서버 충돌 문제와 관련하여 발견 한 내용을 알려주는 것은 흥미로운 후속 조치입니다. 이것과 아무 관련이 없을 것 같은 느낌이 듭니다만 ... 게시 된 정보로는 알 수 없습니다.