프로그램이 돌다가 어떤 크리티컬한 상황에 닥쳤을때
그만 화면이 닫혀버리는 경우가 있지요
제 경우는 0으로 나누는 경우가 그럴때가 있습니다
어쨋든 영문도 모르게 프로그램이 종료될때 이유를 알고 싶은데
실행화일 만들때 컴파일이나 링크 옵션을 어떻게 해야
문제원인을 알수 있나요
물론 컴파일러없이 프로그램만 단독으로 실행했을 경우입니다
try ..except 상황은 이미 소스에서 예외를 예상할 수 있는 경우에 씁니다..
그러지 못한 경우에 디버깅 방법은...
application.OnException 이벤트를 이용합니다.
프로그램에 예외상황에 걸리게되면 이 이벤트에는 무조건 들어오게 됩니다..
자..그럼.. 메인폼 create 부분에
application.OnException := MyExceptionDebug; 을 넣어주시고요
MyExceptionDebug를 짭니다.
procedure MyExceptionDebug(Sender: TObject; E: Exception) 이 형식이고요... E라는 인자를 통해 예외상황에 대한 정보를 입수할 수 있습니다.
이 부분 코딩에 화일에 그 에러 메시지(E.Message)를 기록하는 루틴을 짜서 넣습니다.. 그럼 프로그램이 어떤 에러에 의해 강제 종료되었을때도 그 화일에는 어떤 에러였는지 내역이 남아 있을겁니다..
그러지 못한 경우에 디버깅 방법은...
application.OnException 이벤트를 이용합니다.
프로그램에 예외상황에 걸리게되면 이 이벤트에는 무조건 들어오게 됩니다..
자..그럼.. 메인폼 create 부분에
application.OnException := MyExceptionDebug; 을 넣어주시고요
MyExceptionDebug를 짭니다.
procedure MyExceptionDebug(Sender: TObject; E: Exception) 이 형식이고요... E라는 인자를 통해 예외상황에 대한 정보를 입수할 수 있습니다.
이 부분 코딩에 화일에 그 에러 메시지(E.Message)를 기록하는 루틴을 짜서 넣습니다.. 그럼 프로그램이 어떤 에러에 의해 강제 종료되었을때도 그 화일에는 어떤 에러였는지 내역이 남아 있을겁니다..