디버그 출력문 만들기 문의
슬우
디버그 문장디버그 문장을 만들어서 필요할때만 출력질문 내용 : c에서의 디버그는 브레이크 포인터로 잡아서 하나씩 확인하는 방법이 있는데
그방법 말고 printf()을 사용해서 출력해서도 출력하잖아요....
그런데 printf()를 작성해두고 지워야 하니까 여간 힘든게 아니더군요...
그래서 개발할때는 계속 디버그 창에 값을 출력하고
개발이 끝나면 컴파일 단계에서 소스가 빠져나가는 방법이 없는가 생각하다가
1안)
constant.h
#define debug false / true
gamecanvas.c
if(debug)mc_knlprintk( 디버그);
false = 존재
if(debug) mc_knlprintk( 디버그);
true = 존재
= 여기서 문제점은 매번 검사를 하는 if()를 거친다는 문제점을 갖고 있음
2안) 그래서 ##를 이용한 주석만들기
//디버그 안할때
#define debug /##/
//디버그 할때
#define debug printf
....
/##/이면
debug(출력해주세요); = //출력해주세요);
debug(출력:%d,
var); = //요게문제
printf이면
debug(출력해주세요); = printf(출력해주세요);
= 여기서도 한줄만 되네요 두줄로 연결하면 -_-;
다른 방법이 없을까요?
-
앵겨쪼
^^ #if문이 있네요 ㅎㅎㅎ 감사합니다.
-
소심한여자
소스 단위가 작으면 크수다님 말씀처럼 하시면 되구요... 파일이 여러개라면 컴파일시 옵션에 따르면 되겠네요.. 대충 아래와같이...
#ifdef trace_on
#define debug 1
#else
#define debug 0
#endif -
빈길
#define DEBUG 1
//#define DEBUG 0
//디버그 할 위치부분
#if DEBUG == 1
//디버그 내용...
.
.
.
#endif
만약 개발이 끝날시 #define DEBUG 1을 주석 처리 해주시면 됩니다. 조건부 컴파일..