I am trying to use madexcept (4.0.21) along with my 64bit executable compressed with UPX (v3.95).
My Application is compiled with Delphi 10.2.3 Tokyo.
It seems that MadExcept does not report errors correctly when I raise own exceptions (using an own exception class derived from System.SysUtils.Exception) e.g.:
Code: Select all
interface
TMyException = class(Exception)
constructor Create();
end;
implementation
constructor TMyException.Create();
begin
inherited Create('Test message ' + self.ClassName);
end;
exception class: TMyException
exception message: Test message TMyException.
As soon as I compress the executable with UPX I receive:
exception class: UNKNOWN
exception message: UNKNOWN
For compressed 32bit executables madexcept reports the correct information.
It does not work just for 64bit compressed executables and if I raise own/derived exceptions classes.
Raising exceptions in 64bit compressed executables without using madexcept works correctly (the correct exception message is displayed) so I guess this is a bug in madexcept.
Please let me know if you need futher information.