디버깅시 어떤 테스트 메세지를 쓰시나요?

910
points
points
예전 같이 일하던 사람중에...
디버깅을 수행할때 fuc*er, suc* 등의 메세지를 printf로 출력하는것을 보았습니다. 그걸보고 좀 취향이 독특하다라고 생각했습니다. :D
저의 경우 printf 등으로 테스트 메세지를 찍을때, xxxxx 혹은 ddddd....
printf("xxxxxxxxxxx\n");
printf("dddd....2\n");
이런걸 쓰는데...
다른분들은 어떤것을 쓰시나요?
»
- cbycby의 블로그
- Login or register to post comments
- 6153번 읽힘

points
..
전 주로 에러 원인된 함수이름을 출력하거나..
디버깅을 위해 필요한 수치값들을 출력합니다만.. -_-;;;
printf( "a: %d b: %d c: %d", a, b, c );
이런식으로 말이죠 ;;
또는
printf(" error!! ");
이렇게도 하구요 ㅋㅋ
주로 어디에서 에러인지 알기위해선 함수이름을 적습니다.
어디가 에런지 모를때는 여기저기 에다가 에러출력을 적어야하는데
printf("error!!"); 이렇게 똑같이 적어버리면 어디서 에런지 모르기때문에;;
points
저는 debug: #1 #2 #3 #4 이렇게 하네요. ^^때로는
저는 debug: #1 #2 #3 #4 이렇게 하네요. ^^
때로는 동해물과 / 백두산이 / 마르고 / 닳도록 등과 같이 노래 가사로 할 때도 있습니다.
points
메시지는..
저같은 경우는 메시지의 내용은 매번 상황에 따라 달라집니다만..
주로 syslog를 이용하는 편이죠..
syslog(LOG_DEBUG,"["__FUNCTION__"]"....);
뭐, 대충 이런 식으로요..
그런다음 tail -f /var/log/debug 명령을 다른 창에 켜 놓죠.
그리고 메시지는 주로 어느 시점에서 어떤 값을 가지고 발생하는 시지를 주로 보여주도록 하죠.
points
THISHERETHEREFUNC1FUNC2X1
THIS
HERE
THERE
FUNC1
FUNC2
X1
X2
X3
그래도 가장 많이 쓰는 것은 THIS
points
What the hell...Fucking~......;;
What the hell...
Fucking~...
...;;; 뭐 이런거...-_-;
points
수치값을 봐야할 경우에는 수치값을 많이 쓰고...주로 ssss를
수치값을 봐야할 경우에는 수치값을 많이 쓰고...
주로 ssss를 많이 쓰게 됩니다. 왜 d도 아니고 a도 아니고 s인지는 모르겠네요. 그냥 그게 가장 손이 먼저 가더군요.
points
scv의 s
테란의 sssssss
저그의 sdsdsd
아닐까요?;
points
웬만하면 함수명 위치 주위변수값 등이출력됨
웬만하면 함수명 위치 주위변수값 등이출력됨
points
전..
등의 조합을 사용합니다 ㅎㅎ 애절하게 -_-;
points
컥... 저 같은 경우.."f**k you"를 주로 썼었는데...
컥... 저 같은 경우..
"f**k you"를 주로 썼었는데...
회사에서 디버그 메시지를 삭제 안한상태에서 마스터 씨디를 구워서
제품 출시용 씨디 200장을 해먹은 대형 사고를 쳤었답니다.. -ㅅ-
그 이후로 다시는 그런 메시지를 쓰지 않는다는.. ㅠ.ㅠ
points
안습이네요.. 우헐
그래도 200장에서 끝났으니 다행이네요..
-----------------------------
-----------------------------
A See! 젠투가 최고, 젠투를 써!
Gentoo! War! Fight!
젠투가 모든 걸 해결해 줄거야!
-----------------------------
points
hello~
hello~
points
그 위치에서 획득(?)되는 데이터의 즉치(16진수)를 뿌리거나 마침표(쩜
그 위치에서 획득(?)되는 데이터의 즉치(16진수)를 뿌리거나 마침표(쩜의 수로 어디까지 진행되고 죽었는지 유추)..
points
**********-----------------@@@@@@@
**********
-----------------
@@@@@@@
$$$$$$$$$$
ttttttttttttttttt
dddddddddddd
워낙 허접한지라.. 뭐 대충 없습니다. - _-;
points
debug :)
debug :)
points
그냥 메롱이라고...ㅡㅡ;;
그냥 메롱이라고...ㅡㅡ;;
points
HONESTEE
printf("HONESTE:메롱메롱\n");
이런식으로 씁니다....
가끔가다가 debug code를 까먹고 안지우고 cvs commit하는 경우가 있어서...
항상 commit하기 전에 grep "HONESTEE" -r * 해보고 HONESTEE가
없는 거 본 후에 commit합니다...-_-;;
points
단순히 디버깅으로 위치를 확인하기 위해서..TEST 1TEST
단순히 디버깅으로 위치를 확인하기 위해서..
TEST 1
TEST 2
TEST 3
HERE
!!!!!!!!!!!!!!!!!!
머.. 대강 이런 식으로 사용하는군요..
보통은 함수명에 인자값을 출력하도록 쓰고요.. :D
points
디버깅 방법중 printf가 많이 사용되는건 알았지만실예를 이렇게
디버깅 방법중 printf가 많이 사용되는건 알았지만
실예를 이렇게들 적어놓으시니 좀 재밌습니다.. :D
아 저같은 경우엔..
#define _E_ printf("<< enter %s\n", __func__); #define _L_ printf(">> leave %s\n", __func__);해놓고..
펑션 시작과 끝마다 모두 써놓는 방법 + printf("1\n"); ~ n 까지...
points
보통은 hahaha, hohoho, hehehe 등을 구분해서 씁니다.
보통은 hahaha, hohoho, hehehe 등을 구분해서 씁니다. ####을 쓸때도 있구요..
한글을 쓸 수 있는 상황이라면 가능한 자세히 쓰기도 하죠.
"i값이 j보다 큰가?"
"그렇다면 get_fucking_name()을 불러보세~"
"이리로 오면 이상한겨~"
"책임 질 수 없는 상황... 정리하고 종료한다..."
이런 식으로요...
points
how are youi am finei am a boyyou
how are you
i am fine
i am a boy
you are a girl
등을 주로 씁니다. :)
points
[code:1]#define DEBUG printf("
#define DEBUG printf("File: %s, Line: %d\n", __FILE__, __LINE__);이렇게 해놓고 아무데서나 DEBUG 라고 찍어 놓습니다..
if 와 if 사이나 if 가 시작되기 전이나 그런 곳에요 -.-;
points
[code:1]printf("대체.. 어디야..\n&
printf("대체.. 어디야..\n"); ... printf("여기면 좋겠는데..\n"); .... printf("여기도 아닌가..ㅠㅠ\n");;대충 이런식이죠? ^^
points
[quote="소타"][code:1]#define DEBUG print
저랑 비슷한 코드를 쓰시는군요.
다만 저는
#ifdef __K2H_DEBUG__ #define DEBUG printf("[%s][%d]\n", __FILE__, __LINE__); #else #define DEBUG {} #endif뭐 이정도로 해 놓고 쓰고 있습니다....
디버그 라인을 두고두고 보기 위해서죠.
points
Ningiry, jotdo, Ak, Oh, Haaa~ 등등..-_-;
Ningiry, jotdo, Ak, Oh, Haaa~ 등등..-_-;
수치값 필요시에는 각 변수별 수치값 출력으로 대신하지만..
points
전 asdf 를 반복시키는 일이 잦습니다;;가끔 sssssssssss
전 asdf 를 반복시키는 일이 잦습니다;;
가끔 sssssssssssssss나
===============를 쓰는 경우도 있긴 하지만요-_-;
points
제가 많이 쓰는 모양은.. [code:1]printf(
제가 많이 쓰는 모양은..
printf("[%s:%s:%d] returns %d\n", __FUNCTION__, __FILE__, __LINE__, ret);좀 심했나요. 가끔 BEGIN과 RETURN까지 매크로로 만들어서 디버깅 메시지를 쓰기도 합니다. 그러면 함수 호출 구조가 트리로 깔끔하게 나오니 디버깅하기 좋은 경우가 많더군요. 로그가 좀 커지긴 하지만.
ps.
명예의 전당 한표 던집니다.
points
디버깅 시간에 따라 틀려 집니다.
처음엔....
error - <function name or method name> : line number또 발생하면...
<function name or method name>또 발생하면....
hmmm....또 발생하면.....
regwelgnarejgnraekgjbera;kjgea마지막엔....
please dont print it plzplzplzplzplzpoints
debug 메세지
#ifdef __DEBUG__ if(expect != real) printf("[%s:%s()] Error : 0x%X != 0x%X \n", __FILE__, __FUNCTION__, expect, real); #endifpoints
잡담이지만.. C99 표준인 __func__ 를 씁시다! =3 =3
잡담이지만.. C99 표준인 __func__ 를 씁시다!
=3 =3
points
자주 쓰지는 않지만.. 가끔 씁니다:xassert.h[code:1
자주 쓰지는 않지만.. 가끔 씁니다:
xassert.h
/* $Id: xassert.h,v 1.2 2004/11/05 00:14:23 cinsk Exp $ */ /* * Enhanced assert(3) * Copyright (C) 2003, 2004 Seong-Kook Shin <cinsk.shin@samsung.com> */ #ifndef XASSERT_H_ #define XASSERT_H_ #ifdef HAVE_CONFIG_H # include <config.h> #endif /* This indirect writing of extern "C" { ... } makes Emacs happy */ #ifndef BEGIN_C_DECLS # define BEGIN_C_DECLS extern "C" { # define END_C_DECLS } #endif /* BEGIN_C_DECLS */ #ifdef __cplusplus BEGIN_C_DECLS #endif #ifndef NDEBUG extern void assert_(const char *file, long line, const char *func, const char *expr, const char *format, ...); # define xassert(condition, ...) do { \ if (!(condition)) \ assert_(__FILE__, __LINE__, __func__, \ #condition, __VA_ARGS__); \ } while (0) #else # define xassert(condition, ...) ((void)0) #endif /* NDEBUG */ #ifdef __cplusplus END_C_DECLS #endif #endif /* XASSERT_H_ */xassert.c
/* $Id: xassert.c,v 1.2 2004/11/05 00:14:23 cinsk Exp $ */ /* * Enhanced assert(3) * Copyright (C) 2003, 2004 Seong-Kook Shin <cinsk.shin@samsung.com> */ #include <stdarg.h> #include <stdio.h> #include <stdlib.h> #include <xassert.h> void assert_(const char *file, long line, const char *func, const char *expr, const char *format, ...) { va_list ap; fflush(stdout); fflush(stderr); /* possibly redundant */ fprintf(stderr, "%s:%ld: Assertion `%s' failed at %s.\n\t", file, line, expr, func); va_start(ap, format); vfprintf(stderr, format, ap); va_end(ap); fputc('\n', stderr); fflush(stderr); /* possibly redundant */ abort(); } #ifdef TEST_XASSERT int main(void) { int age = 1; xassert(age > 10, "Age should be larger than 10. (age = %d)", age); return 0; } #endif /* TEST_XASSERT */points
예전에 어떤 코드를 보다가 가장 웃었던게.. 어떤 개발자가 디버깅 메시지
예전에 어떤 코드를 보다가 가장 웃었던게.. 어떤 개발자가 디버깅 메시지로 "Huh?"를 썼던게 기억에 남는군요. :-)
points
그때 그때 달라요~
그때 그때 달라요~
points
음...1234..앞으로는 #define _DE
음...
1
2
3
4
..
앞으로는 #define _DEBUG prif.... 이런거 써봐야 겠다고 매번 다짐합니다만..
추가하자면
AfxMessageBox("1",-1); 이런것도 가끔씁니다. -_-;;
points
[quote="feelpassion"]그때 그때 달라요~[/quote]
딱 제 스타일입니다.
기분좋고 시간도 많고 debugging에 재미가 붙었을땐,
printf( "%s:%d: Here is test point1\n", __FILE__, __LINE__ );바쁘고, 좀 기분 않좋을땐,
아주 열 받았을땐,
points
a...길게 쓸 것 없잖아요? =3
a
...길게 쓸 것 없잖아요? =3
points
저같은 경우는
[파일명.함수명:에러번호(있을경우), 에러메세지]
이렇게 출력하는데요...
별 도움은 안되더라는.... 그냥 줄마다 printf 가 최고 같아요...
points
Re: ..
딱 제스탈입니다... 제가 저렇게 합니다...
게다가... 디버거는 거의 사용을 안하는 하드코어형 디버깅 기법을... =ㅛ=;;
points
저 같은 경우는
파일이랑 라인을 자동으로 찍고 싶어서 찾다가
찾아서 쓴 코드입니다.
C++ 코드이고 functor를 써서 어셈블리 코드 제네레이트시 그냥 객체를 안 쓴 코드와 비교해서 차이가 없더군요
#ifdef DEBUG namespace koei { struct DebuggerTrace { DebuggerTrace( const char* const filename, const char* const function, const int line ) : _filename(filename), _function(function), _line(line) {} void operator() ( const char* fmt, ... ) const { va_list ptr; va_start(ptr, fmt); char buff[1024]; if ( vsnprintf(buff, sizeof(buff), fmt, ptr) < 0 ) { return; } va_end(ptr); fprintf(stderr, "%s %s():%d %s\n", _filename, _function, _line, buff ); } private: const char* const _filename; const char* const _function; const int _line ; }; }; }; #define TRACE koei::DebuggerTrace( __FILE__, __func__, __LINE__ ) #else #define TRACE #endif #endifpoints
test 이지만...열받으면18내지218
test 이지만...
열받으면
18
내지
218
가끔 선배분이 옆에 오셔서.... 한번씩 읽고 갑니다. -_-;; 컥..
points
전 log4j를 쓰지만, log4c를 쓰시는 분은 없나요?
전 log4j를 쓰지만, log4c를 쓰시는 분은 없나요?
points
간단하게KIN!이라고 출력해요..-0-;
간단하게
KIN!
이라고 출력해요..-0-;
points
저는.
Bye world.
points
gotya !!!!orwhat the heck do you
gotya !!!!
or
what the heck do you think you are doing?
:wink:
points
그냥...
cerr<<__FILE__<<" "<<__LINE__<<endl;
points
http://romeo.hufs.ac.kr/~dondek/Project/
http://romeo.hufs.ac.kr/~dondek/Project/ttrace/
리눅스에서 주로 작업을 해서 간단한 trace library를 제작해서 사용하고 있습니다.
그냥 테스트 정도용의 목적이므로 못만들었다고 너무 흉보지 말아주세요 ㅠ.ㅠ
points
최근에 본 애니, 혹은 게임이 무엇이냐에 따라서 다릅니다.보통은 한글
최근에 본 애니, 혹은 게임이 무엇이냐에 따라서 다릅니다.
보통은 한글로 쓰지만 문자가 깨져 나와도 별 상관 안하구요.
가장 최근에 쓴 것으론 '키라 야마토, 출격합니다!'가 있군요 -_-
별로 생각나는 거 없을때나 한글 문제가 심각할(컴파일이 안 되는 ㅡ.ㅡ)경우에는
asd, zsdf 등 갈겨서 나오는 대로 씁니다.
points
저도 메롱... 메롱 파들 모여요~~
printf("merong\n");
points
printf("-_-\n");
printf("-_-\n");
points
:oops: here!!there!!그정도네욤..ㅡㅡㅋ
:oops:
here!!
there!!
그정도네욤..ㅡㅡㅋ
별다른 내공이...없어보이는 평범한..
points
Re: 저 같은 경우는
제가 쓰는것과 비슷한데 이게 더 나은것 같네요.
고맙습니다...
잘쓸게요 ^^
points
매크로로 한방에!
#define DebugTrace(value, type) printf("\n\nDebug Trace : File %s, Line %5d in Function '%s' : %s is %" type ".", __FILE__, __func__, __LINE__, #value)
정수형의 경우
DebugTrace(20, x)와 같이 하면 - 정수 16진수형
DebugTrace(20, d)와 같이 하면 - 정수 10진수형
한 마디로, printf 의 서식지정자와 같습니다.
C언어 전문가 님들은 이해하실 겁니다. 뭐가 뭔지.
points
최근에는 별로 써보지 않았으나,[quote]printf("낄\n"
최근에는 별로 써보지 않았으나,
보통 위 3가지를 많이 쓴다는...
points
....
풉
저는 한동안 "키라 야마토, 이키마스!" 라고 사용했던적이 있었습니다 =)
보통은 이렇게 쓰죠.
[함수 호출 전/후에]
Check point 1
Check point 2
...
[함수 안에서]
Check point 1.1
Check point 1.2
....
points
저는 옥헤이로!!
printf("ok1");
printf("ok2");
-_-a
points
Re: 매크로로 한방에!
#define DebugTrace(value, type) printf("\n\nDebug Trace : File %s, Line %5d in Function '%s' : %s is %" #type ".", __FILE__, __func__, __LINE__, value)이게 맞는 것 같습니다. is %" "d" ". 같이 되어야 할 테니까요.
- 토끼군
points
Re: 저 같은 경우는
# 는 항상 1열에 붙어 있어야 하지 않나요?
points
[code:1]printf("111\n"&#
printf("111\n"); ... printf("222\n"); ... printf("333\n"); ... printf("444\n"); ...:oops:
points
shit 을 씁니다.
shit 을 씁니다.
points
[quote]"야 버그나타났다""나잡아봐~라""어후~한방에 제대로
위의 것들을 사용하다가 회사 선배가 이러더군요.
"야 그것도 다 버그다"
그 이후론
"[시//분//초.XXXX] [에러난곳] [부가설명 또는 데이터값]"
이런식으로 합니다.
points
[code:1]#define LOG_FORMAT1 "
일반적인건 이정도면 충분 할거 같구(약간 고민하면서 수정한건데 뭐... 그럭저러그ㅡㅡㅋ).
임시적으로 사용하는건 ...
printf(" ## STEP-1 ...\n"); printf(" ## STEP-1_1 ...\n"); printf(" ## STEP-1_2 ...\n"); ... printf(" ## STEP-n_n ...\n");그리고,
printf(" ## 뭐가 잘못된거야? ...\n");뭐... 이정도 사용중 입니다.
<어떠한 역경에도 굴하지 않는 '하양 지훈'>
points
printf("진영아사랑해\n");
printf("진영아사랑해\n");
points
[quote]printf("진영아사랑해\n");[/quote]괜히
괜히 잘못하면 더 혼나지 않을까요? ㅎㅎ
특히나 노총각이 많은 팀에서 저런 디버깅 문구를 사용했다면.. :)
points
그러게요.... 일부러
그러게요....
일부러 자리 비운 사이에 코드를 고쳐서 일부러 버그를 만들어 놓을지도. ( =_);
------------------------------------------------------------
이 멍청이~! 나한테 이길 수 있다고 생각했었냐~?
광란의 귀공자 데코스 와이즈멜 님이라구~!
points
[b]SooYeonIsTheBest\n[/b]
SooYeonIsTheBest\n
points
팀에
노총각 주의보 발령
points
printf("eg\n");...printf("ejgo\n");
printf("eg\n");
...
printf("ejgo\n");
이런식으로 그냥 대충 맞춰서 쓰네요. -_-); eg egg 이런식으로 쓰면 구분이 힘들어서.. 저것마저 귀찮으면 @ # ! $ 이런식으로-_-);
points
여긴가?혹시..여기?아님 여긴가?여기도 아니군..
여긴가?
혹시..여기?
아님 여긴가?
여기도 아니군..
그럼 여기?
흐흐 머 이런식으로 씁니다.
points
무엇이 불만이란 말이오!!! 쀍!!! ~ 1, 2, 3, 4
무엇이 불만이란 말이오!!! 쀍!!! ~ 1, 2, 3, 4, ... , n
을 쓰기도 하구요, "쀍"이 입력안되는 곳에는 "버럭"을 주로 씁니다...
한번은 '갑' 팀장이 보고는 눈이 휘둥글해졌다가 마구 웃었다는...^^
points
[quote="lovejin0309"]printf("진영아사랑해\n");
그러면 ID의 뜻이 "love" + "jin0" + "309"!
points
Re: 저 같은 경우는
c 에서 언제 뭐 화이트 스페이스 가지고 뭐라고 했던가요 :evil: 상관 없습니다 :evil:
points
에러나는 컴파일러도 있었습니다.
오래된 글이지만, 댓글을 달아봅니다.
딴지는 아니구요. :-)
어떤 C 컴파일러는, # 앞에 white space가 있을 경우, 에러를 내뿜더군요.
상용 유닉스 머신이었던걸로 기억합니다.
한 2년도 더 된 일이라 어느 놈이었는지는 정확히 기억이 나질 않네요.
그 경험을 한 뒤로는,
#if bla1
# if bla2
# endif
#endif
이런 식으로 쓰고 있습니다.
#은 항상 1열에......
points
HP-UX 일겁니다. ㅡㅡㅋ
저도 같은 경험을 ^^;
----------------
노력만이 살길이다.
points
저는 Assertion
저는 Assertion 메시지를...
##### Congratulations #####
Filename: xxx.cc
Line: 123
Message: bla bla ...
이렇게 합니다. 문제는 제 라이브러리나 프로그램 사용하시다가 저 메시지 만나면 기분 나빠한다는게 문제더군요... 어써션으로 문제를 발견해서 기쁘다는 표현인데... :)
points
ㅎㅎㅎ 웃어야 할지
ㅎㅎㅎ 웃어야 할지 울어야 할지 왠지 헤깔리는 이 기분...
--
Linux강국 KOREA
http://ydongyol.tistory.com/
points
1분 정도 로깅하면
1분 정도 로깅하면 찍히는 기본적으로 들어있는 디버그 메세지만 몇천 라인이 넘어서.. 검색의 편의를 위해 제 닉을 찍습니다. 그리고 그 뒤에는 원하는 데이터를 넣습니다.
points
저두
저두 닉을...
printf("y:무슨 무슨 기능..\n")
나중에 "y:"를 찾아서 삭제..
--
Linux강국 KOREA
http://ydongyol.tistory.com/
.
printf("헉!!!\n");
points
하하하 -_-ㅋvoid
하하하 -_-ㅋ
void debugger() { printf("쿨럭;\n"); }------------------------------------------------
8.28.8, ATI 드라이버의 한계.
- IBM ThinkPad T40p: ATI mobility FireGL 9000