Einzelnen Beitrag anzeigen

CHackbart

Registriert seit: 22. Okt 2012
265 Beiträge
 
#2

AW: MacOS-64: kein StackTrace seit dem Umstieg auf die LLVM-Architektur

  Alt 11. Okt 2021, 12:48
Hi,

ich hatte vor geraumer Zeit so etwas ähnliches benötigt und bin über https://blog.grijjy.com gestolpert. Offiziell geht das nur für Android und iOS, aber da letzteres ja mittlerweile nahezu gleich hinsichtlich der API zu MacOS kommt, war eine Erweiterung für MacOS relativ simpel.

Der Code ist im Anhang zu finden.

Eingebunden wird das in etwa wie folgt:

Delphi-Quellcode:
procedure TfrmMain.HandleExceptionReport(const Sender: TObject;
  const M: TMessage);
var
  Report: IgoExceptionReport;
begin
  Report := TgoExceptionReportMessage(M).Report;

  { This message can be sent from any thread. So if we want to show the report
    in the UI, we need to synchronize it with the main thread. We use
    TThread.Queue here so it doesn't block. }

  TThread.Queue(nil,
    procedure
    begin
      ShowReport(Report.Report);
    end);
end;

procedure TfrmMain.FormCreate(Sender: TObject);
var
  Available: Boolean;
  AppEventSvc: IFMXApplicationEventService;
begin
  Application.OnException := TgoExceptionReporter.ExceptionHandler;
  TMessageManager.DefaultManager.SubscribeToMessage(TgoExceptionReportMessage,
    HandleExceptionReport);
..
Christian
Angehängte Dateien
Dateityp: zip Stack.zip (12,4 KB, 8x aufgerufen)
  Mit Zitat antworten Zitat