DBG: add (undocumented) option to force load PDB
This commit is contained in:
parent
da913f7cdc
commit
70cfec4094
|
@ -1010,6 +1010,7 @@ extern "C" DLL_EXPORT duint _dbg_sendmessage(DBGMSG type, void* param1, void* pa
|
||||||
bVerboseExceptionLogging = settingboolget("Engine", "VerboseExceptionLogging");
|
bVerboseExceptionLogging = settingboolget("Engine", "VerboseExceptionLogging");
|
||||||
bNoWow64SingleStepWorkaround = settingboolget("Engine", "NoWow64SingleStepWorkaround");
|
bNoWow64SingleStepWorkaround = settingboolget("Engine", "NoWow64SingleStepWorkaround");
|
||||||
bQueryWorkingSet = settingboolget("Misc", "QueryWorkingSet");
|
bQueryWorkingSet = settingboolget("Misc", "QueryWorkingSet");
|
||||||
|
bForceLoadSymbols = settingboolget("Misc", "ForceLoadSymbols");
|
||||||
stackupdatesettings();
|
stackupdatesettings();
|
||||||
|
|
||||||
duint setting;
|
duint setting;
|
||||||
|
|
|
@ -86,6 +86,7 @@ bool bNoForegroundWindow = false;
|
||||||
bool bVerboseExceptionLogging = true;
|
bool bVerboseExceptionLogging = true;
|
||||||
bool bNoWow64SingleStepWorkaround = false;
|
bool bNoWow64SingleStepWorkaround = false;
|
||||||
bool bTraceBrowserNeedsUpdate = false;
|
bool bTraceBrowserNeedsUpdate = false;
|
||||||
|
bool bForceLoadSymbols = false;
|
||||||
duint DbgEvents = 0;
|
duint DbgEvents = 0;
|
||||||
duint maxSkipExceptionCount = 10000;
|
duint maxSkipExceptionCount = 10000;
|
||||||
HANDLE mProcHandle;
|
HANDLE mProcHandle;
|
||||||
|
|
|
@ -123,6 +123,7 @@ extern bool bIgnoreInconsistentBreakpoints;
|
||||||
extern bool bNoForegroundWindow;
|
extern bool bNoForegroundWindow;
|
||||||
extern bool bVerboseExceptionLogging;
|
extern bool bVerboseExceptionLogging;
|
||||||
extern bool bNoWow64SingleStepWorkaround;
|
extern bool bNoWow64SingleStepWorkaround;
|
||||||
|
extern bool bForceLoadSymbols;
|
||||||
extern duint maxSkipExceptionCount;
|
extern duint maxSkipExceptionCount;
|
||||||
extern HANDLE mProcHandle;
|
extern HANDLE mProcHandle;
|
||||||
extern HANDLE mForegroundHandle;
|
extern HANDLE mForegroundHandle;
|
||||||
|
|
|
@ -571,8 +571,6 @@ void ReadDebugDirectory(MODINFO & Info, ULONG_PTR FileMapVA)
|
||||||
strncat_s(pdbPath, ".pdb", _TRUNCATE);
|
strncat_s(pdbPath, ".pdb", _TRUNCATE);
|
||||||
Info.pdbPaths.push_back(pdbPath);
|
Info.pdbPaths.push_back(pdbPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1119,7 +1117,7 @@ bool MODINFO::loadSymbols()
|
||||||
{
|
{
|
||||||
GuiSymbolLogAdd(StringUtils::sprintf("[DIA] Skipping non-existent PDB: %s\n", pdbPath.c_str()).c_str());
|
GuiSymbolLogAdd(StringUtils::sprintf("[DIA] Skipping non-existent PDB: %s\n", pdbPath.c_str()).c_str());
|
||||||
}
|
}
|
||||||
else if(symSource->loadPDB(pdbPath, base, size, &validationData))
|
else if(symSource->loadPDB(pdbPath, base, size, bForceLoadSymbols ? nullptr : &validationData))
|
||||||
{
|
{
|
||||||
symSource->resizeSymbolBitmap(size);
|
symSource->resizeSymbolBitmap(size);
|
||||||
|
|
||||||
|
|
|
@ -320,6 +320,10 @@ bool PDBDiaFile::open(const wchar_t* file, uint64_t loadAddress, DiaValidationDa
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
GuiSymbolLogAdd("Skipping PDB validation, expect invalid results!\n");
|
||||||
|
}
|
||||||
|
|
||||||
if(loadAddress != 0)
|
if(loadAddress != 0)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue