디버그 모드 실행파일을 돌리면 프로그램이 자꾸 죽습니다 (MFC)
글쓴이: ha310 / 작성시간: 금, 2014/05/09 - 3:35오후
MFC로 프로그램을 만들었는데요
스레드가 좀 많은 프로그램입니다
통신 연결해서 실시간으로 계속 값을 읽고
또 읽으면 화면에 표시하는 그런 프로그램입니다
데드락 문제인가 싶어서 의심되는 모든 코드에 락도 걸었고
이것저것 해봤는데 왜 프로그램이 죽는지 모르겠습니다
디버그 모드로 빌드해서 생성된 실행파일로 돌리면 죽고
소스에서 바로 F5해서 돌리면 안 죽습니다
디버그 모드에서 생성된 실행파일로 돌릴 때
다른 메모리 공간을 침범했다던지 알림창이라도 떴으면
그걸 토대로 찾아볼 텐데 아무런 알림도 없이 죽으니 진짜 답답합니다
혹시 이런 문제를 겪으신 분이 있나요?
자꾸 이유없이 죽는데 왜 그런지 모르겠습니다
고수분들 답변 부탁드립니다
아 중요한 걸 깜박했네요 함수 내에서 어떤 동작을 하고 나면
동작 실행여부에 대해 무조건 로그를 남기고 있습니다
로그를 남겨도 파악할 수가 없으니 정말 왜 그러는지 모르겠습니다
Forums:
뭔가 볼 수 있는걸 줘도 알까말까인데 말로만 설명하면
뭔가 볼 수 있는걸 줘도 알까말까인데 말로만 설명하면 어떻게 압니까?
머리가 아픈데 왜 아픈지 모르겠습니다.
디버거를 사용하세요.
이유없이 죽는 프로그램은 없습니다. 어디선가 오류가 발생하였고 해당 예외처리를 제대로 못 하여 프로세스가 종료된 것이죠.
- 디버거를 사용하되, 처음부터 디버거를 붙여서 실행하지 말고, 일단 실행후에 디버거를 붙여보세요. 비주얼 스튜디오로 해도 되고, WinDBG로 해도 됩니다.
- 예외 발생시 덤프를 떠주는 유틸리티도 있습니다. DebugDiag이나 ProcDump 같은것들.
- 프로그램 내에서 전역 예외 처리기를 만들어도 됩니다. 일부 프로그램 보면 오류발생시 자체적인 UI가 뜨면서 정보를 개발자에게 보내네 마네 하는 것들이 있죠? 그것들이 바로 전역 예외 처리기를 통해서 동작하는 겁니다.
--
댓글 달기