디버그 출력문 만들기 문의
슬우
디버그 문장디버그 문장을 만들어서 필요할때만 출력질문 내용 : 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을 주석 처리 해주시면 됩니다. 조건부 컴파일..
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676092 | C언어 책 (2) | 아서 | 2024-11-24 |
2676065 | 웹사이트 또는 메신저 등에서 원하는 텍스트를 검사하는방법?? (1) | 모든 | 2024-11-23 |
2676033 | 배열 기초연습중 발생하는 에러 ㅠㅜ... | Creative | 2024-11-23 |
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |
2675356 | 2진수를 10진수로 바꾸려고 하는데 막히네요.. | 풀잎 | 2024-11-17 |
2675297 | Prity 비트 발생기 | 한란 | 2024-11-16 |
2675249 | C책 좀 추천해 주세요 (2) | 딸기우유 | 2024-11-16 |