Added formatting to match the other *nix.
This commit is contained in:
@@ -201,26 +201,63 @@ void BacktraceNames::FromAddr( void *p )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if 0
|
#if 1
|
||||||
|
fprintf(stderr, "um, crashed\n");
|
||||||
CStringArray mangledAndFile;
|
CStringArray mangledAndFile;
|
||||||
|
|
||||||
split(f, " ", mangledAndFile);
|
split(f, " ", mangledAndFile, true);
|
||||||
|
fprintf(stderr, "split %d: %s\n", int(mangledAndFile.size()), f);
|
||||||
if (mangledAndFile.size() > 0)
|
if (mangledAndFile.size() > 0)
|
||||||
{
|
{
|
||||||
|
fprintf(stderr, "size>0\n");
|
||||||
Symbol = mangledAndFile[0];
|
Symbol = mangledAndFile[0];
|
||||||
if (mangledAndFile.size() > 2)
|
if (Symbol[0] != '-' && Symbol[0] != '+')
|
||||||
{
|
{
|
||||||
File = mangledAndFile[3];
|
if (Symbol[0] == '_')
|
||||||
File = File.substr(0, File.rfind(")"));
|
Symbol = Symbol.substr(1);
|
||||||
|
fprintf(stderr, "Symbol: %s\n", Symbol.c_str());
|
||||||
|
if (mangledAndFile.size() > 3)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "size > 3\n");
|
||||||
|
File = mangledAndFile[3];
|
||||||
|
fprintf(stderr, "File: %s\n", File.c_str());
|
||||||
|
unsigned pos = File.find('(');
|
||||||
|
unsigned start = (pos == File.npos ? 0 : pos+1);
|
||||||
|
pos = File.rfind(')') - 1;
|
||||||
|
fprintf(stderr, "start/end: %u/%u\n", start, pos);
|
||||||
|
File = File.substr(start, pos);
|
||||||
|
}
|
||||||
|
else if (mangledAndFile.size() == 3)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "size==3\n");
|
||||||
|
File = mangledAndFile[2].substr(0, mangledAndFile[2].rfind(')'));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
File = "";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
File = "";
|
{
|
||||||
|
Symbol = mangledAndFile[0] + " " + mangledAndFile[1];
|
||||||
|
if (mangledAndFile.size() == 3)
|
||||||
|
{
|
||||||
|
File = mangledAndFile[2];
|
||||||
|
fprintf(stderr, "File: %s\n", File.c_str());
|
||||||
|
unsigned pos = File.find('(');
|
||||||
|
unsigned start = (pos == File.npos ? 0 : pos+1);
|
||||||
|
pos = File.rfind(')') - 1;
|
||||||
|
fprintf(stderr, "start/end: %u/%u\n", start, pos);
|
||||||
|
File = File.substr(start, pos);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
File = "";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Symbol = "";
|
Symbol = "";
|
||||||
File = "";
|
File = "";
|
||||||
}
|
}
|
||||||
|
fprintf(stderr, "File: %s\n", File.c_str());
|
||||||
#else
|
#else
|
||||||
Symbol = f;
|
Symbol = f;
|
||||||
File = "";
|
File = "";
|
||||||
|
|||||||
Reference in New Issue
Block a user