Tweaked stack trace display code
git-svn-id: svn://10.0.0.236/trunk@50244 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
bbf17a2772
commit
16a80cecba
@ -367,24 +367,19 @@ void leaky::displayStackTrace(FILE* out, malloc_log_entry* lep)
|
||||
u_int n = (lep->numpcs < stackDepth) ? lep->numpcs : stackDepth;
|
||||
for (u_int i = 0; i < n; i++, pcp++) {
|
||||
u_long addr = (u_long) *pcp;
|
||||
static char buf[20];
|
||||
char* symbolName;
|
||||
Symbol* sp = findSymbol(addr);
|
||||
if (sp) {
|
||||
symbolName = sp->name;
|
||||
fputs(sp->name, out);
|
||||
if (showAddress) {
|
||||
fprintf(out, "[%p]", (char*)addr);
|
||||
}
|
||||
}
|
||||
else {
|
||||
sprintf(buf, "<0x%lx>", addr);
|
||||
symbolName = buf;
|
||||
}
|
||||
if (showAddress) {
|
||||
fprintf(out, "%s[%p] ", symbolName, *pcp);
|
||||
}
|
||||
else {
|
||||
fprintf(out, "%s ", symbolName);
|
||||
fprintf(out, "<%p>", (char*)addr);
|
||||
}
|
||||
fputc(' ', out);
|
||||
}
|
||||
fprintf(out, "\n");
|
||||
fputc('\n', out);
|
||||
}
|
||||
|
||||
char* typeFromLog[] = {
|
||||
@ -408,7 +403,7 @@ void leaky::dumpEntryToLog(malloc_log_entry* lep)
|
||||
else {
|
||||
printf("%08lx", lep->oldaddress);
|
||||
}
|
||||
printf(" (%ld)-->", lep->numpcs);
|
||||
printf(" --> ");
|
||||
displayStackTrace(stdout, lep);
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user