Просмотр исходного кода

Fixed subroutine lookup static string issue

Brian Fiete 2 месяцев назад
Родитель
Сommit
9a10641680
1 измененных файлов с 10 добавлено и 5 удалено
  1. 10 5
      IDEHelper/WinDebugger.cpp

+ 10 - 5
IDEHelper/WinDebugger.cpp

@@ -7515,7 +7515,7 @@ String WinDebugger::DbgTypedValueToString(const DbgTypedValue& origTypedValue, c
 			String symbolName;
 			String symbolName;
 			addr_target offset;
 			addr_target offset;
 			DbgModule* dwarf;
 			DbgModule* dwarf;
-			static String demangledName;
+			String demangledName;
 			auto subProgram = mDebugTarget->FindSubProgram(funcPtr);
 			auto subProgram = mDebugTarget->FindSubProgram(funcPtr);
 			if (subProgram != NULL)
 			if (subProgram != NULL)
 			{
 			{
@@ -7532,13 +7532,18 @@ String WinDebugger::DbgTypedValueToString(const DbgTypedValue& origTypedValue, c
 			{
 			{
 				auto dbgModule = mDebugTarget->FindDbgModuleForAddress(funcPtr);
 				auto dbgModule = mDebugTarget->FindDbgModuleForAddress(funcPtr);
 				if (dbgModule != NULL)
 				if (dbgModule != NULL)
+				{
 					demangledName += dbgModule->GetLinkedModule()->mDisplayName + "!";
 					demangledName += dbgModule->GetLinkedModule()->mDisplayName + "!";
-				demangledName += StrFormat("0x%@", funcPtr);
+					demangledName += StrFormat("0x%@", funcPtr);
+				}
 			}
 			}
 
 
-			retVal += " {";
-			retVal += demangledName;
-			retVal += "}";
+			if (!demangledName.IsEmpty())
+			{
+				retVal += " {";
+				retVal += demangledName;
+				retVal += "}";
+			}
 			retVal += "\n" + origValueType->ToString(language);
 			retVal += "\n" + origValueType->ToString(language);
 
 
 			return retVal;
 			return retVal;