Einzelnen Beitrag anzeigen

Rollo62

Registriert seit: 15. Mär 2007
3.908 Beiträge
 
Delphi 12 Athens
 
#2

AW: Exception: Trace/breakpoint trap (5)

  Alt 13. Okt 2017, 11:36
Hallo Frank,

ich weiss, ist schon zu alter Thread ...

Aber ich bekomme jetzt auch soetwas, beim Senden von Messages mit TMessageManager.
! Allerdings bei Android und mit Rx10.1U2 Berlin.

Delphi-Quellcode:
// System.Messaging
procedure TMessageManager.SendMessage(const Sender: TObject; AMessage: TMessage; ADispose: Boolean);
var
  Subscribers: TListenerList;
begin
  if AMessage <> nil then
    try
      if FListeners.TryGetValue(AMessage.ClassType, Subscribers) then
        Subscribers.SendMessage(Sender, AMessage);

    finally
      if ADispose then
        AMessage.Free;
    end
  else
    raise Exception.CreateRes(@SArgumentInvalid);
end; // <<-- hier kommt er, der trap (5) ...


...

// System
function _InstClear(var Dest: TObject): Pointer;
{$IFDEF PUREPASCAL}
var
  P: Pointer;
begin
  Result := @Dest; // <<-- und landet im System dann da
  if Dest <> nil then
  begin
    P := Pointer(Dest);
    Pointer(Dest) := nil;
    TObject(P).__ObjRelease;
  end;
end;
{$ELSE}
...
Mit "continue" geht es dann auch ganz normal weiter ...
Es sieht für mich so aus als wäre das ein "software" breakpoint, mithilfe dessen der Debugger durchsteppt.
Normalerweise sollte sowas nicht als Exception hochpoppen, oder ist das was anderes ?

Gab es da vielleicht irgendeine Erkenntnis deinerseits ?

Ich habe gefunden das diese Trap (5) Exceptions nicht unbedingt nur bei Android / iOS auftreten, scheint etwas Allgemeineres zu sein.

Rollo
  Mit Zitat antworten Zitat