none
프로그램을 소스 오류로 강제 종료하는 방법에 대해 알고싶습니다. RRS feed

  • 질문

  • MFC 에서 제작된 프로그램을 오류를 띄우면서 종료하는 방법의 종류를 알고싶습니다.

     
    KillProcess 같이 종료 되는 방식이 아니며 

    예를들어 char 형식에서 null 값 참조를 하게 되면 윈도우 에러를 띄우며 프로그램이 작동 중지 됩니다.
    fopen 으로 파일이 열리지 않았을 경우 fp = fopen(....) 일때 fclose 를 사용하거나 할 때에도 작동 중지 됩니다.
     
    이런 강제 종료 방법의 종류를 알고 싶습니다.
     
    또한 강제로 종료 되는 방식을 사용하였을 때 종료되며 윈도우에서 띄워주는 창이
     
    null 값 참조 에러가 난다면 작동 중지 창에는
    <프로그램 닫기> 
    <프로그램 디버그> 
    <온라인으로 해결 방법을 확인하고 프로그램을 닫습니다.>
    3가지 항목이 뜹니다.
     
    이 창 말고
    <중지> <무시> <계속> 항목이 나오게 에러를 뜨게 하는 방법이 있다면 알고싶습니다.
    2015년 5월 19일 화요일 오전 7:42

답변

  • 언급하신 창 '중지/무시/계속' 다이얼로그는 디버그 모드에서 링크된 디버그 라이브러리가 띄워주는 화면입니다.

    그리고 '닫기'디버그'온라인으로...' 다이얼로그는 OS가 띄워주는 화면입니다.

    하지만, 디버그 모드로 프로그램을 배포하실 수는 없으므로, 만약 실제 제품을 만드실 때에는 SetUnhandledExceptionFilter와 같은 것들을 설치하셔셔 예외를 먼저 받아 처리하실 수는 있습니다.

    https://msdn.microsoft.com/en-us/library/windows/desktop/ms680634%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

    • 답변으로 표시됨 긃륽 2015년 6월 2일 화요일 오전 2:22
    2015년 5월 21일 목요일 오전 1:18