C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[46342] Re:[급질문]프로그램이 하루나 한번씩 아무런 메시지없이 종료가 됩니다.
장성호 [nasilso] 1179 읽음    2006-08-28 19:15
Debuging을 위해서 Log를 남기는 방법을 권해 드립니다.

Application에  Application->OnException이벤트를 걸수 있습니다.

이벤트를 걸오놓으면  try-catch로 잡지 않은 거의 모든 에러는 이쪽으로 오게됩니다.

저는 주로  Application->OnException 이벤트에서 텍스트 파일로 

시간 ,  Sender class name , error message 등의 로그를  날짜별로 남깁니다.

나중에 알수없는 문제가 발생했을때 이 파일을 뒤적거려보는거죠

try-catch로 에러를 잡았다 하더라도   잡은 에러를 다시  throw하시면

Application->OnException로 이벤트가 발생합니다.


문론 Application->OnException 이 발생하지 않고 프로그램이 확 죽어버리는 경우도 있습니다만

위와 같은 방법으로 상당히 추적이 가능합니다.

그리고 또  으심가는 부분에서 메세지를 만들어서 throw하여 로그를 남기는 방법도 있습니다.



//----------샘플---------------------------------


void __fastcall TDLG_CDMA::FormCreate(TObject *Sender)
{

    Application->OnException=AppException;
}

//---------------------------------------------------------------------------
void __fastcall TDLG_CDMA::AppException(TObject *Sender, Exception *E)
{
    String as="Err:"+Now().FormatString("yy-mm-dd hh:nn:ss")
              +":Sender;"+Sender->ClassName() +":Msg;"+E->Message+"\r\n";
    String LogFile=Now().FormatString("yymmdd")+".Log";
    MakeFile((sDataPath+LogFile).c_str(),as.c_str(), as.Length(), OPEN_ALWAYS);
}
//---------------------------------------------------------------------------

//MakeFile을 제가 만들어서 쓰는 함수입니다.

//---------------------------------------------------------------------------
void __fastcall TDLG_CDMA::TempFunc()
{
    try
    {
        .......
        .......
        return ;
    }
    catch(Exception &err)
    {
          String errmsg="TempFunc() "+err.Message;
          throw(errmsg);        
    }
}


하안인 님이 쓰신 글 :
: 프로그램이 하루나 이틀에 한번씩 아무런 메시지없이 종료가 됩니다.
:
: 프로그램이 24시간 가동되는 프로그램인데요 .
:
: 프로그램에 버그가 있으면 에러메시지라도 나와야 할텐데...
:
: 그냥 메시지 없이 종료가 됩니다.
:
: 어떻게 확인 해보아야 할까요. 답이 없어서..
:
: 도움을 구합니다.

+ -

관련 글 리스트
46340 [급질문]프로그램이 하루나 한번씩 아무런 메시지없이 종료가 됩니다. 하안인 915 2006/08/28
46343     Re:[급질문]프로그램이 하루나 한번씩 아무런 메시지없이 종료가 됩니다. 마제 1018 2006/08/28
46342     Re:[급질문]프로그램이 하루나 한번씩 아무런 메시지없이 종료가 됩니다. 장성호 1179 2006/08/28
46359         Re:Re:[급질문]프로그램이 하루나 한번씩 아무런 메시지없이 종료가 됩니다. 금목암 1134 2006/08/30
46363             답변감사합니다. 그런데.. 하안인 988 2006/08/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.