C# 콘솔 애플리케이션 출구 후에도 메모리에 남아있는 콘솔 애플리케이션

StackOverflow https://stackoverflow.com/questions/209304

  •  03-07-2019
  •  | 
  •  

문제

.NET C# 콘솔 응용 프로그램이 있습니다 (서비스가 아님). 기본적으로 웹 서비스에 연결하고, 일부 XML 파일을 가져오고, 해당 파일을 드라이브의 몇 위치로 복사하고, XML을 검증하고, 처리하고, 이러한 개체를 다른 웹 서비스로 보냅니다.

그러나 기본 메소드가 존재하고 콘솔 창이 닫히면 작업 관리자의 프로세스를 여전히 볼 수 있습니다.

나는 TruthException을 잡기 위해 메인 방법의 모든 것을 둘러싼 시도를 시도했지만 모든 것이 원활하게 작동하더라도 앱이 충돌하는 이유에 대해서는 여전히 아무것도 얻지 못했습니다 ...

결함이있는 부분을 확인해야 할 곳에 대한 단서가있는 사람이 있습니까?

도움이 되었습니까?

해결책

스레드 사용 및 비동기 호출을보십시오.

다른 팁

콘솔 창이 닫히면 프로세스가 여전히 실행중인 것은 매우 이상해 보입니다. Visual Studio Debugger에 부착 할 수 있습니까? (분명히 디버그 빌드.)

아직 실행중인 이전 실행이 아니라고 확신합니까?

앱을 디버깅하는 경우 Visual Studio가 마지막에 .vshost.exe를 사용하여 앱과 유사한 호스트 EXE를 만드는 상황을 보았습니다. 더 나은 디버깅 경험을 위해 해당 앱을 사용합니다. 이 호스트 Exe는 프로그램 디버깅을 마치고 대기하고 준비되도록 새로운 디버그 세션을 신속하게 시작할 수 있도록합니다.

당신은 주위에 매달려있는이 exe가 아니라고 확신합니까?

디버깅없이 응용 프로그램을 실행하는 경우에도 여전히 매달려 있습니까?

당신은 거의 확실하게 응용 프로그램에 정지되지 않은 스레드가 있습니다. Jon이 말했듯이 디버거에 부착하고 어떤 스레드가 살아 있는지 확인하십시오.

다른 모든 대답이 당신이 아마도 남아있는 스레드를 가지고 있다고 제안했듯이, 반드시 당신이 명시 적으로 만든 스레드는 아니었기 때문에, 당신은 하나 이상의 객체에서 dispose를 호출하거나 유사한 것을 호출해야 할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top