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

cbycby의 이미지

예전 같이 일하던 사람중에...
디버깅을 수행할때 fuc*er, suc* 등의 메세지를 printf로 출력하는것을 보았습니다. 그걸보고 좀 취향이 독특하다라고 생각했습니다. :D
저의 경우 printf 등으로 테스트 메세지를 찍을때, xxxxx 혹은 ddddd....
printf("xxxxxxxxxxx\n");
printf("dddd....2\n");
이런걸 쓰는데...

다른분들은 어떤것을 쓰시나요?

댓글

zilitwo의 이미지

전 주로 에러 원인된 함수이름을 출력하거나..
디버깅을 위해 필요한 수치값들을 출력합니다만.. -_-;;;

printf( "a: %d b: %d c: %d", a, b, c );
이런식으로 말이죠 ;;

또는

printf(" error!! ");
이렇게도 하구요 ㅋㅋ

주로 어디에서 에러인지 알기위해선 함수이름을 적습니다.
어디가 에런지 모를때는 여기저기 에다가 에러출력을 적어야하는데
printf("error!!"); 이렇게 똑같이 적어버리면 어디서 에런지 모르기때문에;;

-----------------------------------
속좀 썩이지 마라~~ 잉???

Seyong의 이미지

저는 debug: #1 #2 #3 #4 이렇게 하네요. ^^

때로는 동해물과 / 백두산이 / 마르고 / 닳도록 등과 같이 노래 가사로 할 때도 있습니다.

ByB의 이미지

저같은 경우는 메시지의 내용은 매번 상황에 따라 달라집니다만..

주로 syslog를 이용하는 편이죠..

syslog(LOG_DEBUG,"["__FUNCTION__"]"....);

뭐, 대충 이런 식으로요..

그런다음 tail -f /var/log/debug 명령을 다른 창에 켜 놓죠.

그리고 메시지는 주로 어느 시점에서 어떤 값을 가지고 발생하는 시지를 주로 보여주도록 하죠.

----------------------------------------------------------=>
Be supercalifragilisticexpialidocious, run for your life!

artsilly의 이미지

THIS
HERE
THERE

FUNC1
FUNC2

X1
X2
X3

그래도 가장 많이 쓰는 것은 THIS

너굴사마의 이미지

What the hell...

Fucking~...

...;;; 뭐 이런거...-_-;

----------------------------------------------------------------------------
"It is more important to know where you are going than to get there quickly"
- Mabel Newcomber

gilchris의 이미지

수치값을 봐야할 경우에는 수치값을 많이 쓰고...

주로 ssss를 많이 쓰게 됩니다. 왜 d도 아니고 a도 아니고 s인지는 모르겠네요. 그냥 그게 가장 손이 먼저 가더군요.


--------------------------------------------------------------------------------
새로운 세상으로...

nowdac의 이미지

테란의 sssssss
저그의 sdsdsd

아닐까요?;

ㅡ,.ㅡ;;의 이미지

웬만하면 함수명 위치 주위변수값 등이출력됨


----------------------------------------------------------------------------

lacovnk의 이미지

"here! -_-;"
"here...why? TT"
"error -_-;"

등의 조합을 사용합니다 ㅎㅎ 애절하게 -_-;

졸곰의 이미지

컥... 저 같은 경우..

"f**k you"를 주로 썼었는데...

회사에서 디버그 메시지를 삭제 안한상태에서 마스터 씨디를 구워서
제품 출시용 씨디 200장을 해먹은 대형 사고를 쳤었답니다.. -ㅅ-

그 이후로 다시는 그런 메시지를 쓰지 않는다는.. ㅠ.ㅠ

Running in the 90's
http://spbear.com

MoonGate의 이미지

그래도 200장에서 끝났으니 다행이네요..

-----------------------------
-----------------------------
A See! 젠투가 최고, 젠투를 써!
Gentoo! War! Fight!
젠투가 모든 걸 해결해 줄거야!
-----------------------------

-----------------------------
A See! 젠투가 최고, 젠투를 써!
Gentoo! War! Fight!
젠투가 모든 걸 해결해 줄거야!
-----------------------------

랜덤여신의 이미지

xesles의 이미지

그 위치에서 획득(?)되는 데이터의 즉치(16진수)를 뿌리거나 마침표(쩜의 수로 어디까지 진행되고 죽었는지 유추)..

park의 이미지

**********
-----------------
@@@@@@@
$$$$$$$$$$
ttttttttttttttttt
dddddddddddd

워낙 허접한지라.. 뭐 대충 없습니다. - _-;

청춘

codebank의 이미지

debug :)

------------------------------
좋은 하루 되세요.

다크슈테펜의 이미지

그냥 메롱이라고...ㅡㅡ;;

인생이란게 다 그런게 아니겠어요....? 뭘(?)
http://schutepen.egloos.com

honestee의 이미지

printf("HONESTE:메롱메롱\n");

이런식으로 씁니다....

가끔가다가 debug code를 까먹고 안지우고 cvs commit하는 경우가 있어서...

항상 commit하기 전에 grep "HONESTEE" -r * 해보고 HONESTEE가

없는 거 본 후에 commit합니다...-_-;;

지아의 이미지

단순히 디버깅으로 위치를 확인하기 위해서..

TEST 1
TEST 2
TEST 3

HERE

!!!!!!!!!!!!!!!!!!

머.. 대강 이런 식으로 사용하는군요..

보통은 함수명에 인자값을 출력하도록 쓰고요.. :D

#kill -9 world

peccavi의 이미지

디버깅 방법중 printf가 많이 사용되는건 알았지만

실예를 이렇게들 적어놓으시니 좀 재밌습니다.. :D

아 저같은 경우엔..

#define _E_    printf("<< enter %s\n", __func__);
#define _L_    printf(">> leave %s\n", __func__);

해놓고..

펑션 시작과 끝마다 모두 써놓는 방법 + printf("1\n"); ~ n 까지...

----
jai guru deva om...

youlsa의 이미지

보통은 hahaha, hohoho, hehehe 등을 구분해서 씁니다. ####을 쓸때도 있구요..

한글을 쓸 수 있는 상황이라면 가능한 자세히 쓰기도 하죠.
"i값이 j보다 큰가?"
"그렇다면 get_fucking_name()을 불러보세~"
"이리로 오면 이상한겨~"
"책임 질 수 없는 상황... 정리하고 종료한다..."

이런 식으로요...

=-=-=-=-=-=-=-=-=
http://youlsa.com

fat81의 이미지

how are you
i am fine
i am a boy
you are a girl

등을 주로 씁니다. :)

kucuny의 이미지

갑자기 두사부일체가 생각나는건 저 뿐일까요? ㅋㅋ

**********************
세상의 중심 kucuny.com
**********************

**********************
세상의 중심 kucuny.com
**********************

소타의 이미지

#define DEBUG printf("File: %s, Line: %d\n", __FILE__, __LINE__);

이렇게 해놓고 아무데서나 DEBUG 라고 찍어 놓습니다..
if 와 if 사이나 if 가 시작되기 전이나 그런 곳에요 -.-;

dreampia의 이미지

printf("대체.. 어디야..\n");

...


printf("여기면 좋겠는데..\n");


....


printf("여기도 아닌가..ㅠㅠ\n");;

대충 이런식이죠? ^^

>/dev/null 2>&1

k2hyun의 이미지

소타 wrote:
#define DEBUG printf("File: %s, Line: %d\n", __FILE__, __LINE__);

이렇게 해놓고 아무데서나 DEBUG 라고 찍어 놓습니다..
if 와 if 사이나 if 가 시작되기 전이나 그런 곳에요 -.-;

저랑 비슷한 코드를 쓰시는군요.
다만 저는

#ifdef __K2H_DEBUG__
#define DEBUG printf("[%s][%d]\n", __FILE__, __LINE__);
#else
#define DEBUG {}
#endif

뭐 이정도로 해 놓고 쓰고 있습니다....
디버그 라인을 두고두고 보기 위해서죠.

더 이상 없다.

ydhoney의 이미지

Ningiry, jotdo, Ak, Oh, Haaa~ 등등..-_-;

수치값 필요시에는 각 변수별 수치값 출력으로 대신하지만..

dd의 이미지

전 asdf 를 반복시키는 일이 잦습니다;;
가끔 sssssssssssssss나
===============를 쓰는 경우도 있긴 하지만요-_-;

saxboy의 이미지

제가 많이 쓰는 모양은..

printf("[%s:%s:%d] returns %d\n", __FUNCTION__, __FILE__, __LINE__, ret); 

좀 심했나요. 가끔 BEGIN과 RETURN까지 매크로로 만들어서 디버깅 메시지를 쓰기도 합니다. 그러면 함수 호출 구조가 트리로 깔끔하게 나오니 디버깅하기 좋은 경우가 많더군요. 로그가 좀 커지긴 하지만.

ps.
명예의 전당 한표 던집니다.

카二리의 이미지

처음엔....

        error - <function name or method name> : line number

또 발생하면...

        <function name or method name>

또 발생하면....

        hmmm....

또 발생하면.....

        regwelgnarejgnraekgjbera;kjgea

마지막엔....

        please dont print it plzplzplzplzplz

새 생각 :)

elanoia의 이미지


#ifdef __DEBUG__
if(expect != real)
    printf("[%s:%s()] Error  : 0x%X != 0x%X \n", __FILE__, __FUNCTION__,  expect, real);
#endif

음... 이제 부터 생각해 봐야겠다.

sangwoo의 이미지

잡담이지만.. C99 표준인 __func__ 를 씁시다!
=3 =3

----
Let's shut up and code.

cinsk의 이미지

자주 쓰지는 않지만.. 가끔 씁니다:
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 */
cinsk의 이미지

예전에 어떤 코드를 보다가 가장 웃었던게.. 어떤 개발자가 디버깅 메시지로 "Huh?"를 썼던게 기억에 남는군요. :-)

feelpassion의 이미지

그때 그때 달라요~

남으로 창을 내겠소.
밭이 한참갈이 괭이로 파고 호미론 김을 메지요.
구름이 꼬인다 갈리있소. 새들의 노래는 공으로 들으랴오.
강냉이가 익거든 와자셔도 좋소.
왜 사냐건 웃지요.

ydongyol의 이미지

음...
1
2
3
4
..

앞으로는 #define _DEBUG prif.... 이런거 써봐야 겠다고 매번 다짐합니다만..

추가하자면
AfxMessageBox("1",-1); 이런것도 가끔씁니다. -_-;;

--
Linux강국 KOREA
http://ydongyol.tistory.com/

thisrule의 이미지

feelpassion wrote:
그때 그때 달라요~

딱 제 스타일입니다.
기분좋고 시간도 많고 debugging에 재미가 붙었을땐,
printf( "%s:%d: Here is test point1\n", __FILE__, __LINE__ );

바쁘고, 좀 기분 않좋을땐,

printf( "Here1...........\n" );
...
printf( "Here2...........\n" );

아주 열 받았을땐,

printf( "Fucking...\n" );
printf( "쓰벌...\n" );
printf( "어쭈구리....\n" );
...
puzzlet의 이미지

a

...길게 쓸 것 없잖아요? =3

발발다빠따반반나다발딸발발다빠따따맣발발다뿌
멓터벅더떠벋떠벌더벌벌떠벌떠더법벍떠더벌벌떠

jee1의 이미지

[파일명.함수명:에러번호(있을경우), 에러메세지]

이렇게 출력하는데요...

별 도움은 안되더라는.... 그냥 줄마다 printf 가 최고 같아요...

bayleys의 이미지

zilitwo wrote:
전 주로 에러 원인된 함수이름을 출력하거나..
디버깅을 위해 필요한 수치값들을 출력합니다만.. -_-;;;

printf( "a: %d b: %d c: %d", a, b, c );
이런식으로 말이죠 ;;

또는

printf(" error!! ");
이렇게도 하구요 ㅋㅋ

주로 어디에서 에러인지 알기위해선 함수이름을 적습니다.
어디가 에런지 모를때는 여기저기 에다가 에러출력을 적어야하는데
printf("error!!"); 이렇게 똑같이 적어버리면 어디서 에런지 모르기때문에;;

딱 제스탈입니다... 제가 저렇게 합니다...

게다가... 디버거는 거의 사용을 안하는 하드코어형 디버깅 기법을... =ㅛ=;;

Solaris Maniac =ㅛ=;;;

키보드를 기계식으로 다시 바꾸고 난 후 타이핑이 즐거워짐....

코에이의 이미지

파일이랑 라인을 자동으로 찍고 싶어서 찾다가

찾아서 쓴 코드입니다.

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
#endif
alwaysN00b의 이미지

test 이지만...

열받으면

18

내지

218

가끔 선배분이 옆에 오셔서.... 한번씩 읽고 갑니다. -_-;; 컥..

언제나 시작

atie의 이미지

전 log4j를 쓰지만, log4c를 쓰시는 분은 없나요?

----
I paint objects as I think them, not as I see them.
atie's minipage

시렌의 이미지

간단하게
KIN!
이라고 출력해요..-0-;

chanje의 이미지

lovethecorners의 이미지

gotya !!!!

or

what the heck do you think you are doing?

:wink:

octo16의 이미지

cerr<<__FILE__<<" "<<__LINE__<<endl;

dondek의 이미지

http://romeo.hufs.ac.kr/~dondek/Project/ttrace/

리눅스에서 주로 작업을 해서 간단한 trace library를 제작해서 사용하고 있습니다.

그냥 테스트 정도용의 목적이므로 못만들었다고 너무 흉보지 말아주세요 ㅠ.ㅠ

진리를 나의 수준으로 끌어내리지 마라.
나를 진리의 수준으로 끌어올려라. - 배꼽 중에서

mmx900의 이미지

최근에 본 애니, 혹은 게임이 무엇이냐에 따라서 다릅니다.
보통은 한글로 쓰지만 문자가 깨져 나와도 별 상관 안하구요.
가장 최근에 쓴 것으론 '키라 야마토, 출격합니다!'가 있군요 -_-
별로 생각나는 거 없을때나 한글 문제가 심각할(컴파일이 안 되는 ㅡ.ㅡ)경우에는
asd, zsdf 등 갈겨서 나오는 대로 씁니다.

Setzer Gabbiani

dopesoul의 이미지

printf("merong\n");

착이의 이미지

printf("-_-\n");

is null?

hitman7의 이미지

:oops:

here!!
there!!

그정도네욤..ㅡㅡㅋ
별다른 내공이...없어보이는 평범한..

far and hard way

voider의 이미지

코에이 wrote:
파일이랑 라인을 자동으로 찍고 싶어서 찾다가

찾아서 쓴 코드입니다.

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
#endif

제가 쓰는것과 비슷한데 이게 더 나은것 같네요.
고맙습니다...
잘쓸게요 ^^

-- 아쉬운 하루 되세요 --

cppig1995의 이미지

#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언어 전문가 님들은 이해하실 겁니다. 뭐가 뭔지.

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.

mach의 이미지

최근에는 별로 써보지 않았으나,

Quote:
printf("낄\n");

printf("낄낄\n");

printf("낄낄낄\n");

보통 위 3가지를 많이 쓴다는...

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

dotri의 이미지

mmx900 wrote:
최근에 본 애니, 혹은 게임이 무엇이냐에 따라서 다릅니다.
보통은 한글로 쓰지만 문자가 깨져 나와도 별 상관 안하구요.
가장 최근에 쓴 것으론 '키라 야마토, 출격합니다!'가 있군요 -_-
별로 생각나는 거 없을때나 한글 문제가 심각할(컴파일이 안 되는 ㅡ.ㅡ)경우에는
asd, zsdf 등 갈겨서 나오는 대로 씁니다.


저는 한동안 "키라 야마토, 이키마스!" 라고 사용했던적이 있었습니다 =)
보통은 이렇게 쓰죠.

[함수 호출 전/후에]
Check point 1
Check point 2
...

[함수 안에서]
Check point 1.1
Check point 1.2
....

maybe320의 이미지

printf("ok1");
printf("ok2");

-_-a

lifthrasiir의 이미지

cppig1995 wrote:
#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언어 전문가 님들은 이해하실 겁니다. 뭐가 뭔지.

#define DebugTrace(value, type) printf("\n\nDebug Trace : File %s, Line %5d in Function '%s' : %s is %" #type ".", __FILE__, __func__, __LINE__, value)

이게 맞는 것 같습니다. is %" "d" ". 같이 되어야 할 테니까요.

- 토끼군

cppig1995의 이미지

코에이 wrote:
#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
#endif

# 는 항상 1열에 붙어 있어야 하지 않나요?

#if ~~~~
#       define ~~~~
#else ~~~~
#       define ~~~~
#endif /* ~~~~ */

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.

myohan의 이미지

printf("111\n");
...
printf("222\n");
...
printf("333\n");
...
printf("444\n");
...

:oops:

---------------------------------------
blog : http://myohan.egloos.com

fromdj의 이미지

shit 을 씁니다.

^^ be cool ~
http://fromdj.pe.kr

나는오리의 이미지

Quote:
"야 버그나타났다"
"나잡아봐~라"
"어후~한방에 제대로 못하냐?"
"나 찾을려면 고생하겠다. ㅋㅋㅋ"
"오늘도 야근해야겠군"
"내가 누구~게"

위의 것들을 사용하다가 회사 선배가 이러더군요.

"야 그것도 다 버그다"

그 이후론
"[시//분//초.XXXX] [에러난곳] [부가설명 또는 데이터값]"
이런식으로 합니다.

서지훈의 이미지

#define LOG_FORMAT1      " ## [%s:%s():%d]: "
#define LOG_FORMAT2      __FILE__, __FUNCTION__, __LINE__
#define LOG_PRINT(FMT, ...)  printf(LOG_FORMAT1 FMT, LOG_FORMAT2, __VA_ARGS__)

일반적인건 이정도면 충분 할거 같구(약간 고민하면서 수정한건데 뭐... 그럭저러그ㅡㅡㅋ).

임시적으로 사용하는건 ...

printf(" ## STEP-1 ...\n");
printf(" ## STEP-1_1 ...\n");
printf(" ## STEP-1_2 ...\n");
...
printf(" ## STEP-n_n ...\n");

그리고,
printf(" ## 뭐가 잘못된거야? ...\n");
뭐... 이정도 사용중 입니다.

<어떠한 역경에도 굴하지 않는 '하양 지훈'>

#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);

lovejin0309의 이미지

printf("진영아사랑해\n");

김준경의 이미지

Quote:
printf("진영아사랑해\n");

괜히 잘못하면 더 혼나지 않을까요? ㅎㅎ
특히나 노총각이 많은 팀에서 저런 디버깅 문구를 사용했다면.. :)

cronex의 이미지

그러게요....
일부러 자리 비운 사이에 코드를 고쳐서 일부러 버그를 만들어 놓을지도. ( =_);

------------------------------------------------------------
이 멍청이~! 나한테 이길 수 있다고 생각했었냐~?
광란의 귀공자 데코스 와이즈멜 님이라구~!

------------------------------------------------------------
이 멍청이~! 나한테 이길 수 있다고 생각했었냐~?
광란의 귀공자 데코스 와이즈멜 님이라구~!

죠커의 이미지

SooYeonIsTheBest\n

cppig1995의 이미지

CN wrote:
SooYeonIsTheBest\n

노총각 주의보 발령

김준경 wrote:
괜히 잘못하면 더 혼나지 않을까요? ㅎㅎ
특히나 노총각이 많은 팀에서 저런 디버깅 문구를 사용했다면..

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.

욱성군의 이미지

printf("eg\n");
...
printf("ejgo\n");

이런식으로 그냥 대충 맞춰서 쓰네요. -_-); eg egg 이런식으로 쓰면 구분이 힘들어서.. 저것마저 귀찮으면 @ # ! $ 이런식으로-_-);

tbrooks의 이미지

여긴가?

혹시..여기?

아님 여긴가?

여기도 아니군..

그럼 여기?

흐흐 머 이런식으로 씁니다.

언젠가는...

sumireu의 이미지

무엇이 불만이란 말이오!!! 쀍!!! ~ 1, 2, 3, 4, ... , n
을 쓰기도 하구요, "쀍"이 입력안되는 곳에는 "버럭"을 주로 씁니다...
한번은 '갑' 팀장이 보고는 눈이 휘둥글해졌다가 마구 웃었다는...^^

수정산복도로에서 야경을 바라보며 마시는 맥주 한모금...

cppig1995의 이미지

lovejin0309 wrote:
printf("진영아사랑해\n");

그러면 ID의 뜻이 "love" + "jin0" + "309"!

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.

정태영의 이미지

cppig1995 wrote:
# 는 항상 1열에 붙어 있어야 하지 않나요?

#if ~~~~
#       define ~~~~
#else ~~~~
#       define ~~~~
#endif /* ~~~~ */

c 에서 언제 뭐 화이트 스페이스 가지고 뭐라고 했던가요 :evil: 상관 없습니다 :evil:

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

espereto의 이미지

오래된 글이지만, 댓글을 달아봅니다.
딴지는 아니구요. :-)

어떤 C 컴파일러는, # 앞에 white space가 있을 경우, 에러를 내뿜더군요.
상용 유닉스 머신이었던걸로 기억합니다.

한 2년도 더 된 일이라 어느 놈이었는지는 정확히 기억이 나질 않네요.

그 경험을 한 뒤로는,

#if bla1
# if bla2
# endif
#endif

이런 식으로 쓰고 있습니다.
#은 항상 1열에......

dcmru의 이미지

저도 같은 경험을 ^^;
----------------
노력만이 살길이다.

노력만이 살길이다.

bugiii의 이미지

저는 Assertion 메시지를...

##### Congratulations #####
Filename: xxx.cc
Line: 123
Message: bla bla ...

이렇게 합니다. 문제는 제 라이브러리나 프로그램 사용하시다가 저 메시지 만나면 기분 나빠한다는게 문제더군요... 어써션으로 문제를 발견해서 기쁘다는 표현인데... :)

ydongyol의 이미지

ㅎㅎㅎ 웃어야 할지 울어야 할지 왠지 헤깔리는 이 기분...

--
Linux강국 KOREA
http://ydongyol.tistory.com/

--
Linux강국 KOREA
http://ydongyol.tistory.com/

kueilove의 이미지

1분 정도 로깅하면 찍히는 기본적으로 들어있는 디버그 메세지만 몇천 라인이 넘어서.. 검색의 편의를 위해 제 닉을 찍습니다. 그리고 그 뒤에는 원하는 데이터를 넣습니다.

ydongyol의 이미지

저두 닉을...

printf("y:무슨 무슨 기능..\n")

나중에 "y:"를 찾아서 삭제..
--
Linux강국 KOREA
http://ydongyol.tistory.com/

--
Linux강국 KOREA
http://ydongyol.tistory.com/

익명사용자의 이미지

printf("헉!!!\n");

Raz의 이미지

하하하 -_-ㅋ

void debugger()
{
    printf("쿨럭;\n");
}

------------------------------------------------
8.28.8, ATI 드라이버의 한계.
- IBM ThinkPad T40p: ATI mobility FireGL 9000

'
----------------------------------------------------
DELL XPS M1530
-Intel(R) Core(TM) 2 Duo Processor T7700
-4GB (2x2G) 667MHz Dual Channel DDR2 SDRAM
-NVIDIA(R) GeForce(R) 8600M GT
http://thegarage.tistory.com

timburton9의 이미지

여태까지 전 혼자 디버깅할때
제 이니셜 + hahaha heheheh hoho kakaka 뭐 이런거 넣었는데
다들 이랬다는걸 아니 기분이 매우 좋네요 ㅋㅋ

Spread your wings.


---------------------

Spread your wings.

zzabcd의 이미지

"Start"

"Finish"

이런식으로...

하드웨어에 가깝게....프로그래밍을.....내 모든걸 바쳐!

하드웨어에 가깝게....프로그래밍을.....내 모든걸 바쳐!

ljs0766의 이미지

집에 좀 가자..제발.. ㅠ.ㅠ

이라고 디버그 메시지 찍습니다;;

masca642의 이미지

저는 뭐...
printf("////////////////////////\n");

or

printf("==============================\n");

이런거 쓰는 정도랄까나요~ ㅋㅋ

==========================================================================
흐미흐미~


==========================================================================
흐미흐미~
http://pey1021.tistory.com
언제쯤 제대로 공부하고 개발자의 모습이 나올까?

seoilgun의 이미지

간단한 경우에는

"여기, 저기" 처럼 간단하게 표시하지만...

복잡해지면

위치에 따라 포함하는 함수의 명을 적습니다.

iris의 이미지

Uhaha...

하지만 이 글자를 볼 때 얼굴은 저 글자와 정 반대죠. T_T

=================================

이 세상은 썩어있다!

=================================

이 세상은 썩어있다!
- F도 F시 시가지 정복 프로젝트

홈페이지: 언더그라운드 웹진 18禁.net - www.18gold.net

零Rei의 이미지

주로 데이터가 변수에 잘 들어가있는지 확인용도가 많기 때문에

메시지 바로 전 라인에서 나오는 오브젝트를 찍습니다.

logger.debug("==========>" + obj);

--------------------------
未來よどうか無限につづけ.
미래여 영원히 계속되어다오.

noblepylon의 이미지

심심할 때는

    cout << "Kids Next Door, battle station!" << endl; // Nigel Uno, <span>Kids Next Door</span>

또는
    cout << "Respect my authoritah!" << endl; // Eric Cartman, <span>South Park</span>

하지만 영 귀찮거나 시간이 없으면

    cout << "Oooops!" << endl;

---
“내게 능력주시는 자 안에서 내가 모든 것을 할 수 있느니라.”(빌립보서 4:13)

---
“내게 능력주시는 자 안에서 내가 모든 것을 할 수 있느니라.”(빌립보서 4:13)

dragonwine의 이미지

저는 위와 같이 디파인 해놓고
print_curr_line();을 난사 합니다.

-_-);

print_curr_line();
for(...)
{
print_curr_line();
}
print_curr_line();

이렇게 하면 파일이랑 Line이 나오기 때문에 ㅎㅎ #define 을 공통 헤더파일에 넣어두고
막쓰면 편리합니다. 삭제도 print_curr_line()로 검색하면 쫙나오기 때문에 편리합니다. ^^

shei77의 이미지

전 예를 들면

if(pMe->m_pCurData == NULL ) { ... }

이전이면 printf( "$$$ pMe->m_pCurData = [%d] \n", pMe->m_pCurData);

주로 이렇게 하지요

----------------------------------------------------------
It's feasible to make an inspiration on your own.

페이지

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.