Sfoglia il codice sorgente

Better COFF errors

Brian Fiete 3 anni fa
parent
commit
ce288ad813
3 ha cambiato i file con 15 aggiunte e 2 eliminazioni
  1. 10 0
      IDEHelper/COFF.cpp
  2. 3 0
      IDEHelper/COFF.h
  3. 2 2
      IDEHelper/DbgModule.h

+ 10 - 0
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)

+ 3 - 0
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);

+ 2 - 2
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);