Debugging - Wie mach ich das richtig?
Re: Debugging - Wie mach ich das richtig?
http://wiki.lazarus.freepascal.org/Logging_exceptions" onclick="window.open(this.href);return false;
-
- Beiträge: 619
- Registriert: Mi 9. Mär 2011, 16:34
- OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
- CPU-Target: 64Bit
- Wohnort: seit 01.06.2011 in Wahlstedt
Re: Debugging - Wie mach ich das richtig?
Der link is gold wertDisplaced hat geschrieben:http://wiki.lazarus.freepascal.org/Logging_exceptions


Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache
und der Kreis Segeberg meine LIEBE 


Re: Debugging - Wie mach ich das richtig?
Wenn es ne Exception auswirft schon, amsonsten eher nicht.
Dann dürfte es eher ein Logik Fehler sein
Mir hilft es immer, gewissen prozesse auf dem stift oder in gedanken nachzugehen.. Dann finde ich immer den Fehler auch wenn es Aufwändig ist.
Dann dürfte es eher ein Logik Fehler sein

Mir hilft es immer, gewissen prozesse auf dem stift oder in gedanken nachzugehen.. Dann finde ich immer den Fehler auch wenn es Aufwändig ist.
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Debugging - Wie mach ich das richtig?
Während des Debuggens kannst du das auch mit Lazarus machen: Einfach Haltepunkt setzen und Im Menü Ansicht-->Debuggerfenster-->Aufrufstack aufrufen.MmVisual hat geschrieben:Wie kann ich die backtrace Info (-gl) zur Laufzeit bei einer Exception auslesen?
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 1581
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: Debugging - Wie mach ich das richtig?
Vielen Dank für die Infos.
Ich habe das mal so implementiert:
Dann habe ich mal ein falscher SQL Befehl ausführen lassen, aber ich bekomme als sLine nur irgend eine 32-Bit Adresse mit einem $ Zeichen vorne dran.
Wie kann ich den Funktionsname zur Laufzeit sehen?
Edit: Der Aufruf dieses Codes wird mit Application.OnException in einer eigenen Routine gemacht.
Gruß Markus.
Ich habe das mal so implementiert:
Code: Alles auswählen
sLine := '';
p := get_frame;
while (p <> nil) And (Length(sLine) <= 11) Do
Begin
p := get_caller_frame(p);
If p = nil Then Break;
pa := get_caller_addr(p);
sLine := GetLineInfo(pa, False); // E.MethodName(pa);
end;
Wie kann ich den Funktionsname zur Laufzeit sehen?
Edit: Der Aufruf dieses Codes wird mit Application.OnException in einer eigenen Routine gemacht.
Gruß Markus.
EleLa - Elektronik Lagerverwaltung - www.elela.de
Re: Debugging - Wie mach ich das richtig?
Mit -gl und -l kompilieren hat bei mir wahre Wunder gewirkt.
-
- Beiträge: 1581
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: Debugging - Wie mach ich das richtig?
Bei mir wirkt das keine Wunder. Der schreibt nur die Adresse, sonst nichts. Nicht wie die Datei heißt und auch nicht wie die Procedure/Function heißt.
EleLa - Elektronik Lagerverwaltung - www.elela.de