|
프로세스가 종료되지 않는 가장 흔한 원인은 쓰레드가 다 종료되지 않는 것입니다. 메인쓰레드(디폴트쓰레드)이든 서브쓰레드이든 프로세스에 속한 쓰레드중 하나가 종료되지 않고 실행중이면 프로세스도 종료되지 않습니다. FreeLibrary 자체는 안해도 큰 상관은 없지만, 그 dll 안에서 쓰레드를 생성해놓고 제대로 쓰레드 종료를 하지 않은 경우 그런 일이 생길 수 있습니다.
작업관리자에서 추가 열로 쓰레드 열을 열어놓은 상태로 프로세스 종료 시도 이전의 쓰레드 수와 시도 후의 쓰레드 수를 비교해보세요. 쓰레드가 하나 정도 남아있다면 원인이 그것일 가능성이 높습니다.
123 님이 쓰신 글 :
: 프로그램 오른쪽 상단에 닫기버튼을 클릭해서 프로그램이 닫기까지 되는데
:
: 완전 종료가 안돼어 작업 관리자 프로세스 목록에 보면 버젓이 살아있습니다
:
: 디버깅해서 보니깐 formclose()에서 브레이크 포인트 걸어놓고 봤더니
:
: 제대로 종료할때 불리우는 함수들이 제대로 불리는거같은데( 그이후에 델파이소스가 나와 정확하진 않음)
:
: 참고로 DLL 라이브러리를 사용하고있는데 제대로 freeLibrary가 안돼서 이런경우가 발생할수도있을까요?
:
: 어디를 확인하면 될련지 고수님들의 조언부탁드립니다
|