Переглянути джерело

Fixed segmentation fault in stack traces (typenames can currently not be determined in cooperative mode due to the simplified structure of type descriptors in BaseTypes.Descriptor)

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8287 8c9fc860-2736-0410-a75d-ab315db34111
negelef 7 роки тому
батько
коміт
dec4397193
1 змінених файлів з 4 додано та 0 видалено
  1. 4 0
      source/Reflection.Mod

+ 4 - 0
source/Reflection.Mod

@@ -282,6 +282,9 @@ CONST
 	PROCEDURE WriteType*(w: Streams.Writer; adr: ADDRESS);
 	VAR module: Modules.Module; typeDesc: Modules.TypeDesc;
 	BEGIN
+	#IF COOP THEN
+		w.String("UNDETERMINED");
+	#ELSE
 		IF CheckHeapAddress(adr) THEN
 			ThisTypeByAdr(adr, module, typeDesc);
 			IF module # NIL THEN
@@ -302,6 +305,7 @@ CONST
 		ELSE
 			w.String("UNKNOWN");
 		END;
+	#END
 	END WriteType;
 
 	(* Write the specified procedure name and returns parameters for use with Variables  *)