From 0f6b25f7efe11c2a4102b2d74c5f57ddfab341c1 Mon Sep 17 00:00:00 2001 From: "gtm.daemon" Date: Thu, 25 Feb 2010 23:06:24 +0000 Subject: [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) --- Foundation/GTMStackTrace.m | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) (limited to 'Foundation/GTMStackTrace.m') 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; -- cgit v1.2.3