Einzelnen Beitrag anzeigen

Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Was ist eine Exception : 'external: SIGABRT' ?

  Alt 22. Mai 2014, 07:24
Unter Linux (oder Unix im allgemeinen) werden statt Exceptions wie in Windows sogenannte Signale verwendet. Lazarus und die FPC RTL repräsentieren diese jedoch als Exceptions, wenn sie auftreten. Je nachdem um was für ein Signal es sich handelt kannst du in Lazarus mit Halt an die Codestelle springen an der es aufgetreten ist.

Mit dem gdb sollte man herausfinden können, wo das Signal auftritt. Laufen lassen (r) und wenn es beim Signal stoppt: den Backtrace ausgeben (bt).
Lazarus verwendet intern GDB als Debugger, als muss man gar nicht erst GDB von Hand ausführen, sondern kann einfach Lazarus dafür verwenden. @iphi: nach Halt kannst du mit Strg+Alt+S den Aufrufstack einblenden lassen.

Gruß,
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat