728x90
반응형
printf 를 이용한 Debugging Tip
다들 프로젝트 하면서 디버그 한다고 난리 브루스 리 일텐데.. gdb같은 디버거 사용하지 않으면 printf 로 콕콕 찍어가면서 하고 계시겠죠.
파일이 분할이 많아지고 어느곳에서 나오는 메세지인지 정확히 알 수 있는 방법이 있습니다.
만약 아래의 소스를 test.c 에서 test_fuc라는 함수안 12번째 라인에 삽입했다고 하면,
printf("%s, %s, %d ERROR!!\n", __FILE__, __func__, __LINE__);
위 printf문은 단순한 에러 처리에 진입했을때 나오는 나오는건데 분기가 많아서 어느 에러 문인지 정확히 찝어내기 위해서 사용했습니다.
사용된 인자들을 살펴보면 아래와 같습니다.
__FILE__
파일명__func__
해당 코드가 속한 함수명. 소문자로 적어야 합니다.__LINE__
해당 코드의 줄 번호
위의 코드는 다음과 같이 출력 됩니다.
test.c, %test_func, 12 ERROR!!
그리고 저 코드들은 #ifdef DEBUG 과 #endif 안에 넣고 컴파일 할 때 -DDEBUG 라고 옵션을 줬을 때만 사용하게 하면 좀 더 편할 수 도 있겠지용.
728x90
'코스웨어 > 12년 내장형하드웨어' 카테고리의 다른 글
근황 (0) | 2013.08.02 |
---|---|
매크로를 이용한 디버깅 메세지 출력 (0) | 2013.07.30 |
소스 작성의 나쁜 예.. (4) | 2013.07.04 |
으앙 (6) | 2013.06.20 |
대소식!! (5) | 2013.06.18 |
문자열 파싱 (3) | 2013.06.14 |
입사 3개월 (7) | 2013.06.07 |
일하다 말고.. 간단한 리눅스 팁 몇 개.. (4) | 2013.06.04 |