#include <iostream>#include <vector>#include <string>#include <string.h>#include <stdarg.h>#include <sys/types.h>#include <unistd.h>#include "../include/base.h"Include dependency graph for debug.cpp:

Go to the source code of this file.
Functions | |
| void | PrintDebug (const char *filename, const char *function, unsigned long line, const char *level, const char *message,...) |
| void | AddDebugMode (std::string mode) |
| void | InitDebugModes (int argc, char **argv) |
Variables | |
| std::vector< std::string > | debugModes |
| void AddDebugMode | ( | std::string | mode | ) |
Add a new debug mode to check.
Definition at line 72 of file debug.cpp.
00072 { 00073 debugModes.push_back( mode ); 00074 }
Here is the caller graph for this function:

| void InitDebugModes | ( | int | argc, | |
| char ** | argv | |||
| ) |
Parse the command line arguments to find new debug mode to use.
| argc | Number of arguments. | |
| argv | The arguments. |
Definition at line 82 of file debug.cpp.
00082 { 00083 int i; 00084 00085 for( i=0; i<argc; i++ ){ 00086 if( strcmp(argv[i], "-d") == 0 ){ 00087 i = i + 1; 00088 if( i == argc ) 00089 Error( "Usage : -d mode.truc" ); 00090 AddDebugMode( argv[i] ); 00091 } 00092 } 00093 }
Here is the call graph for this function:

Here is the caller graph for this function:

| void PrintDebug | ( | const char * | filename, | |
| const char * | function, | |||
| unsigned long | line, | |||
| const char * | level, | |||
| const char * | message, | |||
| ... | ||||
| ) |
Print a debug message if needed.
| filename | ||
| line | ||
| level | ||
| message |
Definition at line 42 of file debug.cpp.
00044 { 00045 int levelSize = strlen(level); 00046 unsigned int i = 0; 00047 00048 for( i = 0; i < debugModes.size(); i++ ){ 00049 int modeSize = debugModes[i].size(); 00050 const char *strMode = debugModes[i].c_str(); 00051 00052 if( strncmp(strMode, level, modeSize) == 0){ 00053 if( (levelSize != modeSize) && ( level[modeSize] != '.' ) && modeSize != 0) 00054 continue; 00055 00056 va_list argp; 00057 int pid = (int)getpid(); 00058 00059 fprintf(stderr, "%i|%s:%s:%ld| %s : ", pid, filename, function, line, level); 00060 va_start(argp, message); 00061 vfprintf(stderr, message, argp); 00062 va_end(argp); 00063 fprintf(stderr, "\n"); 00064 return; 00065 } 00066 } 00067 }
| std::vector<std::string> debugModes |
1.4.7