Also dump the name of the function to which the current call frame belongs.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39752 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Rene Gollent 2010-12-06 23:33:07 +00:00
parent 83cdf43f09
commit 558028c0e6

View File

@ -434,8 +434,14 @@ DwarfImageDebugInfo::CreateFrame(Image* image,
if (function == NULL) if (function == NULL)
return B_BAD_VALUE; return B_BAD_VALUE;
TRACE_CFI("DwarfImageDebugInfo::CreateFrame(): subprogram DIE: %p\n", FunctionID* functionID = functionInstance->GetFunctionID();
function->SubprogramEntry()); if (functionID == NULL)
return B_NO_MEMORY;
Reference<FunctionID> functionIDReference(functionID, true);
TRACE_CFI("DwarfImageDebugInfo::CreateFrame(): subprogram DIE: %p, "
"function: %s\n", function->SubprogramEntry(),
functionID->FunctionName().String());
int32 registerCount = fArchitecture->CountRegisters(); int32 registerCount = fArchitecture->CountRegisters();
const Register* registers = fArchitecture->Registers(); const Register* registers = fArchitecture->Registers();
@ -531,11 +537,6 @@ DwarfImageDebugInfo::CreateFrame(Image* image,
// Note, this is correct, since we actually retrieved the return // Note, this is correct, since we actually retrieved the return
// address. Our caller will fix the IP for us. // address. Our caller will fix the IP for us.
FunctionID* functionID = functionInstance->GetFunctionID();
if (functionID == NULL)
return B_NO_MEMORY;
Reference<FunctionID> functionIDReference(functionID, true);
// create function parameter objects // create function parameter objects
for (DebugInfoEntryList::ConstIterator it = subprogramEntry->Parameters() for (DebugInfoEntryList::ConstIterator it = subprogramEntry->Parameters()
.GetIterator(); DebugInfoEntry* entry = it.Next();) { .GetIterator(); DebugInfoEntry* entry = it.Next();) {