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
[53823] 좋은답변 정말로 감사합니다.
이카로스 [] 1325 읽음    2008-07-01 17:13
방태윤님 좋은 답변 정말로 감사합니다. 일다 말씀하신대로 한번 진행해 보려 합니다.
손 발이 고생을 하더라도 지금 당장이 이길이 최선인것 같네요.
그럼 더운날씨에 건강조심하세요.




방태윤 님이 쓰신 글 :
: 컴파일 에러도 없는데 .. 실행하면 .. 에러는 나는데 어떤 부분에서 나오는지 모르신다는거죠?
:
: 어느 함수에서 나는 에러인지 모르는경우 말이죠,.
:
: 조은 방법이 있겠지만,.. 제가 사용하는 방법을 말씀드리께요..
:
: 일단 아래 함수 하나 만듭니다
:
: void add_debug_log(AnsiString str)
: {
:     SYSTEMTIME t;
:     GetLocalTime(&t);
:
:     AnsiString f_str=AnsiString().sprintf("%02d%02d",t.wHour,t.wMinute);
:   AnsiString fname=ExtractFilePath(Application->ExeName)+f_str+"_log.txt";
:     FILE*fp=fopen(fname.c_str(),"a+t");
:
:     AnsiString tstr;
:   tstr.sprintf("%04d.%02d.%02d %02d:%02d:%02d",t.wYear,t.wMonth,t.wDay,t.wHour,t.wMinute,t.wSecond);
:   AnsiString temp=tstr+" "+str+"\n";
:   fputs(temp.c_str(),fp);
:     fclose(fp);
: }
: //---------------------------------------------------------------------------
: 위 함수는 일분마다 새화일을 만들면서 로그를 추가하는 일을 합니다.
:
:
: 그리고 소스의 각 라인 마다
:
: add_debug_log(AnsiString().sprintf("FILE:%s FUNC:%s LINE:%d",__FILE__, __FUNC__, __LINE__));
:
: 아래와 같이 넣습니다.ㅋ
:
: 그리고 돌리다 팅기면..어디까지 진행 됬는지 알수 있겠죠...
:
: 처음엔 함수 호출 전 후에 넣어서 어떤 함수가 이상있는지 찾아낸후,,
:
: 다시 함수 안의 각 라인에 어디서 에러가 나서 멈추는지 찾는거죠,,
:
: 첨에 말씀드렸듯이  무식합니다.
:
: 무식하면 손발이 고생한다는데...어쩜니까 ,,이렇게 라도 해야죠..ㅋ
:
: 제 예를 들어보면 프로그램을 돌리면...한 4,5시간 마다 에러가 납니다,,
:
: 그래서 위의 방법으로 한 일주일 만에 찾았담니다.
:
: 그때 찾은 에러는 우습게도  GetTextMetrics(dc,&tm);
:
: dc 가 이상이 있나 봤더니..
:
: 위에는 TBitmap 의 Handle 이었고 아래는 정상적으로 delete 되 있었지만,
:
: 시간이 지나면 애러를 내더군요,
:
: dc 를 vcl 아닌 api 로 바꾸니까 비로소 에러가 안나더군요,..
:
: 위의 경우는 그런 경우도 있더라는 ... 그냥 참고 하시라고 말씀드리니다.
:
: 암튼 방법이 좀 무식해서..ㅋㅋ
:
: 어떤 프로그램들 보면 에러나면...어디서 호출 됬는지 메세지창으로 나오던데..
:
: 그런거.. 어떻게 하는건지 아시는 분은 좀 알려주심 감사하겠습니다.
:
:
:
:
: 이카로스 님이 쓰신 글 :
: : 프로그램 고수님들에게 자문을 구합니다.
: : 다름이 아니오라 요번에 저희 회사에서 프로잭트 작업을 하면서  C++로 프로그램 작업했습니다.
: : 그런데 작업한 프로그램을 구동중에 간혹 [system error. code : 87. 매개변수가 틀립니다.] 라고 나옵니다.
: : 위 에러 메서지가 여러개가 나오면서 프로그램창에서 튕겨져 나오는데 도무지 알수가 없습니다.
: : 도대체 어디서 잘못이 된건지 알수가 없어서 고수님들에게 자문을 구합니다.
: : 위 문제를 어떤 식으로 해결해야 하는지 알수 있을까요?
: : 꼭좀 도와주세요.
: : 그럼 좋은 답변 기다리고 있겠습니다.
: : 더운 날씨에 건강 조심들 하세요.

+ -

관련 글 리스트
53818 왕초보 입니다. 고수님들 도와주세요... 이카로스 1041 2008/07/01
53822     Re:왕초보 입니다. 고수님들 도와주세요... 방태윤 1531 2008/07/01
53823         좋은답변 정말로 감사합니다. 이카로스 1325 2008/07/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.