Changeset 25619
- Timestamp:
- 11/24/2008 07:39:22 PM (2 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/Frameworks/Adium Framework/Source/ESDebugAILog.h
r20754 r25619 20 20 #define AILogWithSignature(fmt, args...) AILogWithPrefix(__PRETTY_FUNCTION__, fmt, ##args); 21 21 void AILog (NSString *format, ...); 22 void AILogBacktrace(); 22 23 #else 23 24 /* For a non-debug build, define it to be a comment so there is no overhead in using it liberally */ … … 25 26 #define AILogWithSignature(fmt, ...) /**/ 26 27 #define AILogWithPrefix(sig, fmt, ...) /**/ 28 #define AILogBacktrace() /**/ 27 29 #endif trunk/Frameworks/Adium Framework/Source/ESDebugAILog.m
r24803 r25619 32 32 */ 33 33 #ifdef DEBUG_BUILD 34 #include <execinfo.h> 34 35 void AIAddDebugMessage(NSString *debugMessage) 35 36 { … … 77 78 va_end(ap); /* clean up when done */ 78 79 } 80 81 void AILogBacktrace() { 82 void* callstack[128]; 83 int i, frames = backtrace(callstack, 128); 84 char** strs = backtrace_symbols(callstack, frames); 85 NSMutableString *str = [NSMutableString string]; 86 for (i = 0; i < frames; ++i) { 87 [str appendFormat:@"%s\n", strs[i]]; 88 } 89 free(strs); 90 AILog(@"%@", str); 91 }; 92 79 93 #else 80 94 //Insert a fake symbol so that plugins using AILog() don't crash. … … 83 97 #undef AILogWithPrefix 84 98 void AILogWithPrefix (char *sig, NSString *format, ...) {}; 99 #undef AILogBacktrace 100 void AILogBacktrace() {}; 85 101 #endif