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
[52483] 두 분 답변 감사합니다. '초보'님들을 위한 Log창 이용법 ^^
아제나 [azena] 1321 읽음    2008-03-01 01:54
TRACE("출력 하고 싶은 메시지: %s", "없음" ); // printf 처럼 파라미터 지정 가능

이런 식으로 원하는 위치에 코드를 작성하면 Event Log 창에 출력이 됩니다.
디버깅 할 때 매우 유용합니다.
릴리즈 모드로 컴파일하면 자동으로 코드가 컴파일에서 빠지게 되고요.
저도 예전에는 TRACE 안 쓰고 그냥 Watch List 등록해서 쓰고 그랬는데, DX 프로그래밍 하다보니까 전체화면에서 Break Point 잡가기 껄끄러워서 썼더니 매우 편하더군요 ^^; 듀얼 모니터로 전체화면 모드가 아닌 모니터에 띄워 놓으면 정보가 바로바로 화면에 보이니까요...

어쟀든 답변대로 속성창을 확인해보니 Event Log 창에 메시지별 색깔도 커스터마이징 할 수 있게 되어 있네요. 역시 빌더는 좋은 툴입니다. ^^

아래는 TRACE 코드

#ifdef _DEBUG

inline void TRACE(char* szMessage, ...)
{
  char szDebugMsg[2048];
  va_list va;
  va_start(va, szMessage);
  vsprintf(szDebugMsg, szMessage, (va_list)va);
  va_end(va);
  OutputDebugString(szDebugMsg);
}

inline void TRACEW(wchar_t* szMessage, ...)
{
  wchar_t szDebugMsg[2048];
  va_list va;
  va_start(va, szMessage);
  vswprintf(szDebugMsg, szMessage, (va_list)va);
  va_end(va);
  OutputDebugStringW(szDebugMsg);
}

#else

#define TRACE(...)
#define TRACEW(...)

#endif

+ -

관련 글 리스트
52478 Event Log 창에 Module Load, Unload 표시 안 되도록 할 수 있습니까? 아제나 1047 2008/02/29
52483     두 분 답변 감사합니다. '초보'님들을 위한 Log창 이용법 ^^ 아제나 1321 2008/03/01
52481     Re:Event Log 창에 Module Load, Unload 표시 안 되도록 할 수 있습니까? 박지훈.임프 1349 2008/02/29
52479     Re:Event Log 창에 Module Load, Unload 표시 안 되도록 할 수 있습니까? 장성호 1164 2008/02/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.