From: <ou...@us...> - 2012-10-28 14:11:29
|
Revision: 3878 http://jcl.svn.sourceforge.net/jcl/?rev=3878&view=rev Author: outchy Date: 2012-10-28 14:11:23 +0000 (Sun, 28 Oct 2012) Log Message: ----------- Mantis 5881: GetExceptionPointer failns on 64bit executables. Modified Paths: -------------- trunk/jcl/source/windows/JclDebug.pas Modified: trunk/jcl/source/windows/JclDebug.pas =================================================================== --- trunk/jcl/source/windows/JclDebug.pas 2012-10-28 14:03:42 UTC (rev 3877) +++ trunk/jcl/source/windows/JclDebug.pas 2012-10-28 14:11:23 UTC (rev 3878) @@ -1087,17 +1087,13 @@ {$ENDIF CPU64} end; +{$IFDEF CPU32} function GetExceptionPointer: Pointer; asm - {$IFDEF CPU32} XOR EAX, EAX MOV EAX, FS:[EAX] - {$ENDIF CPU32} - {$IFDEF CPU64} - XOR RAX, RAX - MOV RAX, FS:[RAX] - {$ENDIF CPU64} end; +{$ENDIF CPU32} // Reference: Matt Pietrek, MSJ, Under the hood, on TIBs: // http://www.microsoft.com/MSJ/archive/S2CE.HTM @@ -5640,6 +5636,7 @@ end; procedure TJclExceptFrameList.TraceExceptionFrames; +{$IFDEF CPU32} var ExceptionPointer: PExcFrame; Level: Integer; @@ -5661,6 +5658,12 @@ GlobalModulesList.FreeModulesList(ModulesList); end; end; +{$ENDIF CPU32} +{$IFDEF CPU64} +begin + // TODO: 64-bit version +end; +{$ENDIF CPU64} //=== Exception hooking ====================================================== This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |