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:
kipp%netscape.com 1999-10-08 20:42:33 +00:00
parent bbf17a2772
commit 16a80cecba

View File

@ -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);
}