Changeset 35 in libcf for trunk/include/cf_debug.h
- Timestamp:
- 02/05/13 18:18:37 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/cf_debug.h
r34 r35 12 12 * (단, 콜스택의 푸시/팝은 컨텍스트를 이용해야만 사용 가능) 13 13 * 14 * @section 샘플코드 15 * @code 16 17 #include "cf_debug.h" 18 19 CF_Debug_Ctx gDebugCtx; 20 21 void callee (void) { 22 CF_Debug_CallStack callstack; 23 24 CF_DEBUG_CALLSTACK_PUSH (gDebugCtx); 25 CF_DEBUG_CALLSTACK_POP (gDebugCtx, &callstack); 26 } 27 28 int main (void) { 29 int fd = 0; 30 gDebugCtx = CF_Debug_CreateCtx (); 31 32 CF_DEBUG_CALLSTACK_PUSH (gDebugCtx); 33 34 CF_DEBUG_TRACE (gDebugCtx, "print trace message with context to stderr\n"); 35 36 fd = CF_File_Create ("debug.txt"); 37 if (fd < 0) { 38 CF_DEBUG_PRINT (stderr, "error ...\n"); 39 // error 40 } 41 CF_Debug_SetOutputFD (gDebugCtx, fd); 42 43 CF_DEBUG_TRACE (gDebugCtx, "print trace message with context to debug.txt\n"); 44 45 CF_DEBUG_CALLSTACK_POP (gDebugCtx, NULL); 46 47 CF_Debug_DestroyCtx (gDebugCtx); 48 49 return 0; 50 } 51 52 * @endcode 14 * @example debug.c 53 15 */ 54 16 #ifndef __CF_DEBUG_H__ … … 186 148 #endif 187 149 188 /**189 * 디버그 컨텍스트를 생성190 *191 * @return 성공 시, CF_Debug_Ctx 형태의 컨텍스트; 실패 시, NULL192 * @see CF_DEBUG_CREATE_CTX193 */194 150 CF_EXPORT CF_Debug_Ctx 195 151 CF_Debug_CreateCtx (void); 196 152 197 /**198 * 디버그 컨텍스트를 해제199 *200 * @return 성공 시, CF_OK; 실패 시, 오류 코드201 *202 * @param ctx 디버그 컨텍스트203 *204 * @see CF_DEBUG_DESTROY_CTX205 */206 153 CF_EXPORT int 207 154 CF_Debug_DestroyCtx (CF_Debug_Ctx ctx); 208 155 209 /**210 * 디버그 컨텍스트에 출력할 파일 디스크립터를 설정211 *212 * @return 성공 시, CF_OK; 실패 시, 오류 코드213 *214 * @param ctx 디버그 컨텍스트215 * @param fd 파일 디스크립터216 *217 * @see CF_File_Open, CF_File_Create218 */219 156 CF_EXPORT int 220 157 CF_Debug_SetOutputFD (CF_Debug_Ctx ctx, 221 158 int fd); 222 159 223 /**224 * 디버그 메시지를 지정된 파일 포인터로 출력225 *226 * @return 성공 시, CF_OK; 실패 시, 오류 코드227 *228 * @param fp 파일 포인터. 표준출력(stdout) 및 표준오류(stderr) 사용 가능229 * @param file 파일 경로230 * @param func 함수 이름231 * @param line 라인 넘버232 * @param fmt 포맷 스트링233 * @param ... 가변 인자234 *235 * @see CF_DEBUG_PRINT236 */237 160 CF_EXPORT int 238 161 CF_Debug_Print (FILE * fp, … … 242 165 const char * fmt, ...); 243 166 244 /**245 * 바이너리 데이터를 디버그 메시지와 함께 지정된 파일 포인터로 출력246 *247 * @return CF_OK 반환248 *249 * @param fp 파일 포인터. 표준출력(stdout) 및 표준오류(stderr) 사용 가능250 * @param file 파일 경로251 * @param func 함수 이름252 * @param line 라인 넘버253 * @param bin 라인 넘버254 * @param len 바이너리 길이255 * @param fmt 포맷 스트링256 * @param ... 가변 인자257 *258 * @see CF_DEBUG_PRINT_BIN259 */260 167 CF_EXPORT int 261 168 CF_Debug_PrintBin (FILE * fp, … … 267 174 const char * fmt, ...); 268 175 269 /**270 * 컨텍스트를 업데이트하고 디버그 메시지를 출력271 *272 * @return CF_OK 반환273 *274 * @param ctx 디버그 컨텍스트275 * @param file 파일 경로276 * @param func 함수 이름277 * @param line 라인 넘버278 * @param fmt 포맷 스트링279 * @param ... 가변 인자280 *281 * @see CF_DEBUG_UPDATE_CTX, CF_Debug_Trace282 */283 176 CF_EXPORT int 284 177 CF_Debug_Trace (CF_Debug_Ctx ctx, … … 288 181 const char * fmt, ...); 289 182 290 /**291 * 컨텍스트를 업데이트하고 바이너리 데이터를 디버그 메시지와 함께 출력292 *293 * @return 성공 시, CF_OK; 실패 시, 오류 코드294 *295 * @param ctx 디버그 컨텍스트296 * @param file 파일 경로297 * @param func 함수 이름298 * @param line 라인 넘버299 * @param bin 바이너리 데이터300 * @param len 바이너리 길이301 * @param fmt 포맷 스트링302 * @param ... 가변 인자303 *304 * @see CF_DEBUG_UPDATE_CTX, CF_DEBUG_TRACE_BIN305 */306 183 CF_EXPORT int 307 184 CF_Debug_TraceBin (CF_Debug_Ctx ctx, … … 313 190 const char * fmt, ...); 314 191 315 /**316 * 컨텍스트에 콜스택 푸시317 *318 * @return 성공 시, CF_OK; 실패 시, 오류 코드319 *320 * @param ctx 디버그 컨텍스트321 * @param file 파일 경로322 * @param func 함수 이름323 * @param line 라인 넘버324 *325 * @see CF_DEBUG_CALLSTACK_PUSH326 */327 192 CF_EXPORT int 328 193 CF_Debug_CallStackPush (CF_Debug_Ctx ctx, … … 331 196 const int line); 332 197 333 /**334 * 컨텍스트에서 콜스택 팝335 *336 * @return 성공 시, CF_OK; 실패 시, 오류 코드337 *338 * @param ctx 디버그 컨텍스트339 * @param callstack 콜스택 정보를 가져올 콜스택 데이터 구조체 포인터340 *341 * @see CF_Debug_CallStackPop, CF_Debug_CallStack342 */343 198 CF_EXPORT int 344 199 CF_Debug_CallStackPop (CF_Debug_Ctx ctx,
Note:
See TracChangeset
for help on using the changeset viewer.