diff --git a/IDEHelper/COFF.cpp b/IDEHelper/COFF.cpp index a5907124..50c76008 100644 --- a/IDEHelper/COFF.cpp +++ b/IDEHelper/COFF.cpp @@ -5801,6 +5801,16 @@ void COFF::ParseSymbolStream(CvSymStreamType symStreamType) } } +void COFF::Fail(const StringImpl& error) +{ + DbgModule::Fail(StrFormat("%s in %s", error.c_str(), mPDBPath.c_str())); +} + +void COFF::HardFail(const StringImpl& error) +{ + DbgModule::HardFail(StrFormat("%s in %s", error.c_str(), mPDBPath.c_str())); +} + void COFF::ParseGlobalsData() { if (!mPDBLoaded) diff --git a/IDEHelper/COFF.h b/IDEHelper/COFF.h index 25041032..45667e26 100644 --- a/IDEHelper/COFF.h +++ b/IDEHelper/COFF.h @@ -293,6 +293,9 @@ public: int mProcSymCount; public: + virtual void Fail(const StringImpl& error) override; + virtual void HardFail(const StringImpl& error) override; + virtual void ParseGlobalsData() override; virtual void ParseSymbolData() override; virtual void ParseTypeData(CvStreamReader& reader, int dataOffset); diff --git a/IDEHelper/DbgModule.h b/IDEHelper/DbgModule.h index 18731463..1bb68323 100644 --- a/IDEHelper/DbgModule.h +++ b/IDEHelper/DbgModule.h @@ -1231,8 +1231,8 @@ public: virtual DbgSubprogram* FindSubprogram(DbgType* dbgType, const char* methodName); const char* GetStringTable(DataStream* stream, int stringTablePos); - void Fail(const StringImpl& error); - void HardFail(const StringImpl& error); + virtual void Fail(const StringImpl& error); + virtual void HardFail(const StringImpl& error); void FindTemplateStr(const char*& name, int& templateNameIdx); void TempRemoveTemplateStr(const char*& name, int& templateNameIdx); void ReplaceTemplateStr(const char*& name, int& templateNameIdx);