FullDebugMode does not work on OSX32
mterrisse opened this issue · 1 comments
mterrisse commented
There is an access violation in GetStackRange (FastMM_FullDebugMode.dpr) when it executes mov ecx, fs:[4]
procedure GetStackRange(var AStackBaseAddress, ACurrentStackPointer: NativeUInt);
asm
{$if SizeOf(Pointer) = 8}
mov rax, gs:[abs 8]
mov [rcx], rax
mov [rdx], rbp
{$else}
mov ecx, fs:[4]
mov [eax], ecx
mov [edx], ebp
{$ifend}
end;
This code can work only on Windows, it queries the Win32 Thread Information Block.
I can go further if I change
mov ecx, fs:[4]
mov [eax], ecx
to
mov [eax], $ffffffff
Regards,
Michel Terrisse
maximmasiutin commented
Hello mterrisse,
If this only works on Windows but not on OSX (and probably not on Unix), I think you should add a conditional define.
…--
Best regards,
Maxim Masiutin