aboutsummaryrefslogtreecommitdiff
path: root/Foundation/GTMStackTrace.m
diff options
context:
space:
mode:
authorGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2010-02-25 23:06:24 +0000
committerGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2010-02-25 23:06:24 +0000
commit0f6b25f7efe11c2a4102b2d74c5f57ddfab341c1 (patch)
tree77f229799a583d0d87158e98aed99eca9dd646f8 /Foundation/GTMStackTrace.m
parentaf06bed3ef545dc77bff9195a5392576b9282155 (diff)
[Author: dmaclach]
Clean up stack traces for http://code.google.com/p/google-toolbox-for-mac/issues/detail?id=45 R=thomasvl DELTA=23 (15 added, 1 deleted, 7 changed)
Diffstat (limited to 'Foundation/GTMStackTrace.m')
-rw-r--r--Foundation/GTMStackTrace.m32
1 files changed, 24 insertions, 8 deletions
diff --git a/Foundation/GTMStackTrace.m b/Foundation/GTMStackTrace.m
index 1c7bafb..568b5d7 100644
--- a/Foundation/GTMStackTrace.m
+++ b/Foundation/GTMStackTrace.m
@@ -158,18 +158,34 @@ static NSString *GTMStackTraceFromAddressDescriptors(struct GTMAddressDescriptor
if (i) {
[trace appendString:@"\n"];
}
+ NSString *fileName = nil;
+ if (descs[i].filename) {
+ fileName = [NSString stringWithCString:descs[i].filename
+ encoding:NSUTF8StringEncoding];
+ fileName = [fileName lastPathComponent];
+ } else {
+ fileName = @"??";
+ }
if (descs[i].class_name) {
- [trace appendFormat:@"#%-2u %#08lx %s[%s %s] (%s)",
- i, descs[i].address,
+ [trace appendFormat:@"#%-2u %-35s %0*p %s[%s %s]",
+ i,
+ [fileName UTF8String],
+ // sizeof(void*) * 2 is the length of the hex address (32 vs 64) and + 2
+ // for the 0x prefix
+ sizeof(void *) * 2 + 2,
+ descs[i].address,
(descs[i].is_class_method ? "+" : "-"),
descs[i].class_name,
- (descs[i].symbol ? descs[i].symbol : "??"),
- (descs[i].filename ? descs[i].filename : "??")];
+ (descs[i].symbol ? descs[i].symbol : "??")];
} else {
- [trace appendFormat:@"#%-2u %#08lx %s() (%s)",
- i, descs[i].address,
- (descs[i].symbol ? descs[i].symbol : "??"),
- (descs[i].filename ? descs[i].filename : "??")];
+ [trace appendFormat:@"#%-2u %-35s %0*p %s()",
+ i,
+ [fileName UTF8String],
+ // sizeof(void*) * 2 is the length of the hex address (32 vs 64) and + 2
+ // for the 0x prefix
+ sizeof(void *) * 2 + 2,
+ descs[i].address,
+ (descs[i].symbol ? descs[i].symbol : "??")];
}
}
return trace;