| 90 | using namespace TCFake; |
| 91 | |
| 92 | void DbgHotScanner::AddSubProgram(DbgSubprogram* subProgram, bool followInlineParent, const Beefy::StringImpl& prefix) |
| 93 | { |
| 94 | if ((followInlineParent) && (subProgram->mInlineeInfo != NULL) && (subProgram->mInlineeInfo->mInlineParent != NULL)) |
| 95 | AddSubProgram(subProgram->mInlineeInfo->mInlineParent, true, prefix); |
| 96 | |
| 97 | subProgram->mCompileUnit->mDbgModule->ParseSymbolData(); |
| 98 | |
| 99 | String methodName; |
| 100 | addr_target offset; |
| 101 | if (mDebugger->mDebugTarget->FindSymbolAt(subProgram->mBlock.mLowPC, &methodName, &offset)) |
| 102 | { |
| 103 | if (offset == 0) |
| 104 | { |
| 105 | if (!prefix.IsEmpty()) |
| 106 | methodName.Insert(0, prefix); |
| 107 | |
| 108 | if (subProgram->mCompileUnit->mDbgModule->mHotIdx != 0) |
| 109 | methodName += StrFormat("\t%d", subProgram->mCompileUnit->mDbgModule->mHotIdx); |
| 110 | mDebugger->mHotResolveData->mBeefCallStackEntries.Add(methodName); |
| 111 | } |
| 112 | } |
| 113 | } |
| 114 | |
| 115 | void DbgHotScanner::PopulateHotCallstacks() |
| 116 | { |
nothing calls this directly
no test coverage detected