mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 19:48:20 +02:00
Trimmed some debug memory
This commit is contained in:
parent
b16ff3048a
commit
13ca5c174d
4 changed files with 41 additions and 71 deletions
|
@ -956,15 +956,11 @@ void DbgSrcFile::GetHash(String& outStr)
|
||||||
DbgType::DbgType()
|
DbgType::DbgType()
|
||||||
{
|
{
|
||||||
mTypeIdx = -1;
|
mTypeIdx = -1;
|
||||||
//mHash = 0;
|
|
||||||
mIsDeclaration = false;
|
mIsDeclaration = false;
|
||||||
mParent = NULL;
|
mParent = NULL;
|
||||||
//mName = NULL;
|
|
||||||
mTypeName = NULL;
|
mTypeName = NULL;
|
||||||
mTypeCode = DbgType_Null;
|
mTypeCode = DbgType_Null;
|
||||||
mSize = 0;
|
mSize = 0;
|
||||||
//mArraySize = 0;
|
|
||||||
mDeclLine = 0;
|
|
||||||
mPtrType = NULL;
|
mPtrType = NULL;
|
||||||
mTypeParam = NULL;
|
mTypeParam = NULL;
|
||||||
mBlockParam = NULL;
|
mBlockParam = NULL;
|
||||||
|
@ -1833,6 +1829,7 @@ void DbgType::ToString(StringImpl& str, DbgLanguage language, bool allowDirectBf
|
||||||
str += " ";
|
str += " ";
|
||||||
mTypeParam->ToString(str, language, allowDirectBfObject, internalName);
|
mTypeParam->ToString(str, language, allowDirectBfObject, internalName);
|
||||||
}
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
if (mTypeParam == NULL)
|
if (mTypeParam == NULL)
|
||||||
{
|
{
|
||||||
|
|
|
@ -376,7 +376,6 @@ public:
|
||||||
const char* mName;
|
const char* mName;
|
||||||
const char* mLinkName;
|
const char* mLinkName;
|
||||||
int mTemplateNameIdx;
|
int mTemplateNameIdx;
|
||||||
int mDeclLine;
|
|
||||||
int mFrameBaseLen;
|
int mFrameBaseLen;
|
||||||
int mPrologueSize;
|
int mPrologueSize;
|
||||||
const uint8* mFrameBaseData;
|
const uint8* mFrameBaseData;
|
||||||
|
@ -386,15 +385,15 @@ public:
|
||||||
int mStepFilterVersion;
|
int mStepFilterVersion;
|
||||||
LocalBaseRegKind mParamBaseReg;
|
LocalBaseRegKind mParamBaseReg;
|
||||||
LocalBaseRegKind mLocalBaseReg;
|
LocalBaseRegKind mLocalBaseReg;
|
||||||
bool mHasQualifiedName;
|
bool mHasQualifiedName:1;
|
||||||
bool mIsStepFiltered;
|
bool mIsStepFiltered:1;
|
||||||
bool mIsStepFilteredDefault;
|
bool mIsStepFilteredDefault:1;
|
||||||
bool mVirtual;
|
bool mVirtual:1;
|
||||||
bool mHasThis;
|
bool mHasThis:1;
|
||||||
bool mNeedLineDataFixup;
|
bool mNeedLineDataFixup:1;
|
||||||
|
bool mIsOptimized:1;
|
||||||
|
bool mHasLineAddrGaps:1; // There are gaps of addresses which are not covered by lineinfo
|
||||||
HotReplaceKind mHotReplaceKind;
|
HotReplaceKind mHotReplaceKind;
|
||||||
bool mIsOptimized;
|
|
||||||
bool mHasLineAddrGaps; // There are gaps of addresses which are not covered by lineinfo
|
|
||||||
DbgLineInfo* mLineInfo;
|
DbgLineInfo* mLineInfo;
|
||||||
DbgInlineeInfo* mInlineeInfo;
|
DbgInlineeInfo* mInlineeInfo;
|
||||||
DbgType* mParentType;
|
DbgType* mParentType;
|
||||||
|
@ -417,8 +416,6 @@ public:
|
||||||
mHasLineAddrGaps = false;
|
mHasLineAddrGaps = false;
|
||||||
mPrologueSize = -1;
|
mPrologueSize = -1;
|
||||||
mParentType = NULL;
|
mParentType = NULL;
|
||||||
mDeclLine = 0;
|
|
||||||
//mInlinerData = NULL;
|
|
||||||
mInlineeInfo = NULL;
|
mInlineeInfo = NULL;
|
||||||
mFrameBaseData = NULL;
|
mFrameBaseData = NULL;
|
||||||
mFrameBaseLen = 0;
|
mFrameBaseLen = 0;
|
||||||
|
@ -561,19 +558,17 @@ public:
|
||||||
intptr mSize; // In bytes
|
intptr mSize; // In bytes
|
||||||
int mTemplateNameIdx;
|
int mTemplateNameIdx;
|
||||||
int mAlign;
|
int mAlign;
|
||||||
int mDeclFileIdx;
|
|
||||||
int mDeclLine;
|
|
||||||
int mTypeIdx;
|
int mTypeIdx;
|
||||||
uint16 mDefinedMembersSize;
|
uint16 mDefinedMembersSize;
|
||||||
uint16 mMethodsWithParamsCount;
|
uint16 mMethodsWithParamsCount;
|
||||||
bool mIsIncomplete; // Not fully loaded
|
bool mIsIncomplete:1; // Not fully loaded
|
||||||
bool mIsPacked;
|
bool mIsPacked:1;
|
||||||
bool mNeedsGlobalsPopulated;
|
bool mNeedsGlobalsPopulated:1;
|
||||||
bool mHasGlobalsPopulated;
|
bool mHasGlobalsPopulated:1;
|
||||||
bool mIsDeclaration;
|
bool mIsDeclaration:1;
|
||||||
bool mHasStaticMembers;
|
bool mHasStaticMembers:1;
|
||||||
bool mHasVTable;
|
bool mHasVTable:1;
|
||||||
bool mFixedName;
|
bool mFixedName:1;
|
||||||
DbgLanguage mLanguage;
|
DbgLanguage mLanguage;
|
||||||
DbgExtType mExtType;
|
DbgExtType mExtType;
|
||||||
DbgTypePriority mPriority; // Is the one stored in the type map
|
DbgTypePriority mPriority; // Is the one stored in the type map
|
||||||
|
|
|
@ -749,8 +749,7 @@ bool DebugTarget::GetAutoLocalsInBlock(Array<String>& outLocals, DbgSubprogram*
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (//(dwLineData->mLine >= variable->mDeclLine) &&
|
if ((variable->mName[0] != '$'))
|
||||||
(variable->mName[0] != '$'))
|
|
||||||
_AddLocal(variable->mName);
|
_AddLocal(variable->mName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2264,12 +2263,9 @@ bool DebugTarget::GetValueByNameInBlock_Helper(DbgSubprogram* dwSubprogram, DbgB
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
//for (auto variable : dwBlock->mVariables)
|
|
||||||
for (int varIdx = (int)checkVars.size() - 1; varIdx >= 0; varIdx--)
|
for (int varIdx = (int)checkVars.size() - 1; varIdx >= 0; varIdx--)
|
||||||
{
|
{
|
||||||
auto variable = checkVars[varIdx];
|
auto variable = checkVars[varIdx];
|
||||||
// if (variable->mDeclFileIdx == 0)
|
|
||||||
// continue;
|
|
||||||
|
|
||||||
if (variable->mRangeStart != 0)
|
if (variable->mRangeStart != 0)
|
||||||
{
|
{
|
||||||
|
@ -2340,9 +2336,6 @@ bool DebugTarget::GetValueByNameInBlock_Helper(DbgSubprogram* dwSubprogram, DbgB
|
||||||
{
|
{
|
||||||
for (auto variable : dwSubprogram->mParams)
|
for (auto variable : dwSubprogram->mParams)
|
||||||
{
|
{
|
||||||
/*if (variable->mDeclFileIdx == 0)
|
|
||||||
continue;*/
|
|
||||||
|
|
||||||
if (variable->mName == NULL)
|
if (variable->mName == NULL)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|
|
@ -10633,10 +10633,7 @@ void WinDebugger::GetCodeAddrInfo(intptr addr, String* outFile, int* outHotIdx,
|
||||||
|
|
||||||
if (dwEndLineData != NULL)
|
if (dwEndLineData != NULL)
|
||||||
{
|
{
|
||||||
if (subProgram->mDeclLine != 0)
|
*outDefLineStart = dwStartLineData->mLine;
|
||||||
*outDefLineStart = subProgram->mDeclLine - 1;
|
|
||||||
else
|
|
||||||
*outDefLineStart = dwStartLineData->mLine;
|
|
||||||
*outDefLineEnd = dwEndLineData->mLine;
|
*outDefLineEnd = dwEndLineData->mLine;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10754,27 +10751,18 @@ String WinDebugger::GetStackFrameInfo(int stackFrameIdx, intptr* addr, String* o
|
||||||
{
|
{
|
||||||
WdStackFrame* nextStackFrame = mCallStack[actualStackFrameIdx - 1];
|
WdStackFrame* nextStackFrame = mCallStack[actualStackFrameIdx - 1];
|
||||||
auto subProgram = nextStackFrame->mSubProgram;
|
auto subProgram = nextStackFrame->mSubProgram;
|
||||||
// int callFileIdx = subProgram->mDeclFileIdx;
|
|
||||||
// if (callFileIdx > 0)
|
FixupLineDataForSubprogram(subProgram->mInlineeInfo->mRootInliner);
|
||||||
// {
|
DbgSubprogram* parentSubprogram = subProgram->mInlineeInfo->mInlineParent; // Require it be in the inline parent
|
||||||
// DbgSrcFile* srcFile = subProgram->mCompileUnit->mSrcFileRefs[callFileIdx - 1].mSrcFile;
|
auto foundLine = parentSubprogram->FindClosestLine(subProgram->mBlock.mLowPC, &parentSubprogram);
|
||||||
// _CheckHashSrcFile(*outFile, subProgram->mCompileUnit->mDbgModule, srcFile);
|
if (foundLine != NULL)
|
||||||
// *outFile = srcFile->GetLocalPath();
|
|
||||||
// *outLine = subProgram->mDeclLine - 1;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
{
|
{
|
||||||
FixupLineDataForSubprogram(subProgram->mInlineeInfo->mRootInliner);
|
auto srcFile = parentSubprogram->GetLineSrcFile(*foundLine);
|
||||||
DbgSubprogram* parentSubprogram = subProgram->mInlineeInfo->mInlineParent; // Require it be in the inline parent
|
*outFile = srcFile->GetLocalPath();
|
||||||
auto foundLine = parentSubprogram->FindClosestLine(subProgram->mBlock.mLowPC, &parentSubprogram);
|
_CheckHashSrcFile(*outFile, subProgram->mCompileUnit->mDbgModule, srcFile);
|
||||||
if (foundLine != NULL)
|
*outLine = foundLine->mLine;
|
||||||
{
|
|
||||||
auto srcFile = parentSubprogram->GetLineSrcFile(*foundLine);
|
|
||||||
*outFile = srcFile->GetLocalPath();
|
|
||||||
_CheckHashSrcFile(*outFile, subProgram->mCompileUnit->mDbgModule, srcFile);
|
|
||||||
*outLine = foundLine->mLine;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
*outLanguage = subProgram->GetLanguage();
|
*outLanguage = subProgram->GetLanguage();
|
||||||
*outHotIdx = subProgram->mCompileUnit->mDbgModule->mHotIdx;
|
*outHotIdx = subProgram->mCompileUnit->mDbgModule->mHotIdx;
|
||||||
*outColumn = -1;
|
*outColumn = -1;
|
||||||
|
@ -10880,10 +10868,7 @@ String WinDebugger::GetStackFrameInfo(int stackFrameIdx, intptr* addr, String* o
|
||||||
|
|
||||||
if (dwEndLineData != NULL)
|
if (dwEndLineData != NULL)
|
||||||
{
|
{
|
||||||
if (dwSubprogram->mDeclLine != 0)
|
*outDefLineStart = dwStartLineData->mLine;
|
||||||
*outDefLineStart = dwSubprogram->mDeclLine - 1;
|
|
||||||
else
|
|
||||||
*outDefLineStart = dwStartLineData->mLine;
|
|
||||||
*outDefLineEnd = dwEndLineData->mLine;
|
*outDefLineEnd = dwEndLineData->mLine;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue