Index: trunk/include/cf_debug.h
===================================================================
--- trunk/include/cf_debug.h	(revision 50)
+++ trunk/include/cf_debug.h	(revision 51)
@@ -27,26 +27,8 @@
 
 #ifdef _DEBUG
-/**
- * 디버그 컨텍스트 생성
- *
- * @see CF_Debug_CreateCtx
- */
-# define CF_DEBUG_CREATE_CTX()										\
-	CF_Debug_CreateCtx ()
-
-/**
- * 디버그 컨텍스트 해제
- *
- * @param __ctx 디버그 컨텍스트
- *
- * @see CF_Debug_DestroyCtx
- */
-# define CF_DEBUG_DESTROY_CTX(__ctx)								\
-	CF_Debug_DestroyCtx (__ctx)
 
 /**
  * 디버그 메시지를 지정된 파일 포인터로 출력
  *
- * @param __fp	파일 포인터. 표준출력(stdout) 및 표준오류(stderr) 사용 가능
  * @param __fmt	포맷 스트링
  * @param ...	가변 인자
@@ -60,5 +42,4 @@
  * 바이너리 데이터를 디버그 메시지와 함께 지정된 파일 포인터로 출력
  *
- * @param __fp	파일 포인터. 표준출력(stdout) 및 표준오류(stderr) 사용 가능
  * @param __bin	바이너리 데이터
  * @param __len	바이너리 길이
@@ -72,83 +53,29 @@
 
 /**
- * 컨텍스트를 업데이트하고 디버그 메시지를 출력
+ * 함수에 진입
  *
- * @param __ctx	디버그 컨텍스트
- * @param __fmt	포맷 스트링
- * @param ...	가변 인자
- *
- * @see CF_Debug_Trace
+ * @see CF_Debug_EnterFunction
  */
-# define CF_DEBUG_TRACE(__ctx,__fmt,...)							\
-	CF_Debug_Trace (__ctx,__FILE__,__func__,__LINE__,__fmt,##__VA_ARGS__)
+# define CF_DEBUG_BEGIN_FUNCTION								\
+	CF_Debug_EnterFunction (__FILE__,__func__,__LINE__)
 
 /**
- * 컨텍스트를 업데이트하고 바이너리 데이터를 디버그 메시지와 함께 출력
+ * 함수에서 종료
  *
- * @param __ctx	디버그 컨텍스트
- * @param __bin	바이너리 데이터
- * @param __len	바이너리 길이
- * @param __fmt	포맷 스트링
- * @param ...	가변 인자
- *
- * @see CF_Debug_TraceBin
+ * @see CF_Debug_LeaveFunction
  */
-# define CF_DEBUG_TRACE_BIN(__ctx,__bin,__len,__fmt,...)			\
-	CF_Debug_TraceBin (__ctx,__FILE__,__func__,__LINE__,__bin,__len,__fmt,##__VA_ARGS__)
+# define CF_DEBUG_END_FUNCTION					\
+	CF_Debug_LeaveFunction ()
 
-/**
- * 컨텍스트에 콜스택 푸시
- *
- * @param __ctx 디버그 컨텍스트
- *
- * @see CF_Debug_CallStackPush
- */
-# define CF_DEBUG_CALLSTACK_PUSH(__ctx)								\
-	CF_Debug_CallStackPush (__ctx,__FILE__,__func__,__LINE__)
-
-/**
- * 컨텍스트에서 콜스택 팝
- *
- * @param __ctx			디버그 컨텍스트
- * @param __callstack	콜스택 정보를 가져올 콜스택 데이터 구조체 포인터
- *
- * @see CF_Debug_CallStackPop, CF_Debug_CallStack
- */
-# define CF_DEBUG_CALLSTACK_POP(__ctx,__callstack)					\
-	CF_Debug_CallStackPop (__ctx,__callstack)
 #else // #ifdef _DEBUG
-# define CF_DEBUG_CREATE_CTX()							NULL
-# define CF_DEBUG_DESTROY_CTX(__ctx)
 # define CF_DEBUG_PRINT(__fp,__fmt,...)
 # define CF_DEBUG_PRINT_BIN(__fp,__bin,__len,__fmt,...)
-# define CF_DEBUG_TRACE(__ctx,__fmt,...)
-# define CF_DEBUG_TRACE_BIN(__ctx,__bin,__len,__fmt,...)
-# define CF_DEBUG_CALLSTACK_PUSH(__ctx)
-# define CF_DEBUG_CALLSTACK_POP(__ctx,__callstack)		1
+# define CF_DEBUG_BEGIN_FUNCTION
+# define CF_DEBUG_END_FUNCTION
 #endif // #ifdef _DEBUG
-
-/** 디버그 컨텍스트 */
-typedef void *	CF_Debug_Ctx;
-
-/** 콜스택 데이터 */
-typedef struct cf_debug_callStack {
-	char	file[NAME_LENGTH + 1];		/**< 파일 이름 */
-	char	function[NAME_LENGTH + 1];	/**< 함수 이름 */
-	int		line;						/**< 라인 넘버 */
-} CF_Debug_CallStack;
 
 #ifdef __cplusplus
 extern "C" {
 #endif
-
-CF_EXPORT CF_Debug_Ctx
-CF_Debug_CreateCtx		(void);
-
-CF_EXPORT int
-CF_Debug_DestroyCtx		(CF_Debug_Ctx ctx);
-
-CF_EXPORT int
-CF_Debug_SetOutputFD	(CF_Debug_Ctx	ctx,
-						 int			fd);
 
 CF_EXPORT int
@@ -169,28 +96,13 @@
 
 CF_EXPORT int
-CF_Debug_Trace			(CF_Debug_Ctx	ctx,
-						 const char		* file,
-						 const char		* func,
-						 const int		line,
-						 const char		* fmt, ...);
+CF_Debug_PrintCallStack	(FILE * fp);
 
 CF_EXPORT int
-CF_Debug_TraceBin		(CF_Debug_Ctx			ctx,
-						 const char				* file,
-						 const char				* func,
-						 const int				line,
-						 const unsigned char	* bin,
-						 const int				len,
-						 const char				* fmt, ...);
+CF_Debug_EnterFunction	(const char	* file,
+						 const char	* func,
+						 const int	line);
 
 CF_EXPORT int
-CF_Debug_CallStackPush	(CF_Debug_Ctx	ctx,
-						 const char		* file,
-						 const char		* func,
-						 const int		line);
-
-CF_EXPORT int
-CF_Debug_CallStackPop	(CF_Debug_Ctx		ctx,
-						 CF_Debug_CallStack	* callstack);
+CF_Debug_LeaveFunction	(void);
 
 #ifdef __cplusplus
