Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Application.OnException Behandlung (https://www.delphipraxis.net/9290-application-onexception-behandlung.html)

Cobra 23. Sep 2003 10:13


Application.OnException Behandlung
 
Hallo @all :coder:

Habe mal wieder ein Problem ich schreibe alle Fehler die ich im Programm nicht durch TRY-Except abgefangen habe in eine Datei und beende das Programm danach.
Problem: Ich möchte die Zeilennummer an welcher der Fehler ausgelöst wird mit protokollieren.
1. Geht das ?
3. Wenn es nicht geht gibt es eine andere Lösung damit ich die Fehlerposition im Programm finde ?

sakura 23. Sep 2003 10:20

Re: Application.OnException Behandlung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Es ist möglich ;-) Vor längerer Zeit habe ich mal eine Komponente dazu gebastelt, die ich einfach mal hier anhänge. Wichtig ist, dass Du im Dialog für die Projekt Optionen -> Linker -> Map File auf detailiert stellst. Diese dadurch erstellte Datei muss im Programmverzeichnis liegen.

Ansonsten habe ich momentan nicht genug Zeit näher darauf einzugehen ;-) Falls Du eine Delphi3000.com Mitgliedschaft hast, hier mal der ausführliche Teil dazu ( http://www.delphi3000.com/articles/article_3308.asp ). Es kann auch sein, daß Du in der DP noch was dazu findest ;-)

...:cat:...

Cobra 23. Sep 2003 11:00

Re: Application.OnException Behandlung
 
Danke sakura :hello:

Das sollte die Lösung für mein Problem sein. :spin:
Zitat:

Zitat von sakura
Falls Du eine Delphi3000.com Mitgliedschaft hast

jetzt schon :mrgreen:

Cobra 23. Sep 2003 16:13

Re: Application.OnException Behandlung
 
Hallo sakura,

ist doch nicht ganz das was ich wollte oder ich habe etwas falsch verstanden.
Also mit der Komponente bekomme ich die Stelle im Code wo
raise Exception ist.

Wenn ich folgende Zeile Code habe:
inttostr('Hallo');

Bekomme ich nicht diese Zeile(inttostr('Hallo');) zurück sondern SysUntils und die Zeilennummer der raise Exception.

Vieleicht benutze ich ja die Komponente falsch.

Luckie 23. Sep 2003 16:15

Re: Application.OnException Behandlung
 
NUn ja, genau genommen ist da ja auch der Fehler aufgetreten. IntToStr hat den fehler verursacht und das ist in SysUtils implementiert.

Cobra 23. Sep 2003 16:29

Re: Application.OnException Behandlung
 
Hallo Luckie, :D

also was ich damit machen will ist eigentlich ganz einfach, wenn der Benutzer mit der Software arbeitet und ein Fehler bekommt, welchen ich nicht behandelt habe soll das Programm sich beenden und der Fehler protokolliert werden.
Wenn ich aber nicht die Stelle im Quellcode finde an welcher der Fehler verursacht wurde, dann bringt die ganze Protokollierung nichts.
*heulschreibrüll*

Also was ich bisher in der Textdatei festhalte ist die Fehlerklasse, Meldung,und das Sender Object und das ganze mache ich über normale Application.OnException.
Jetzt fehlt mir also nur die verursacher Zeile zu meinem Glück. :)

Motzi 24. Sep 2003 07:40

Re: Application.OnException Behandlung
 
Geh mal auf www.madshi.net und hol dir die madExcept-Kompo! Die is absolut genial!! 8)

Cobra 24. Sep 2003 08:39

Re: Application.OnException Behandlung
 
Danke Motzi,

aber die Seite scheint heute morgen nicht richtig zu laufen.
Ich habe aber ein sample in JCL gefunden was genau macht was ich
will. :mrgreen:

barnti 24. Sep 2003 10:38

Re: Application.OnException Behandlung
 
Hi Cobra,

da mich dieses Thema brennend interessiert, schreibe mir doch bitte etwas zu Deiner Lösung, Fehler in der Anwendung "mitzutracen".

Insbesondere zu Deinem letzten Posting...

Wo benutzt Du denn das "Application.OnException"? Wie und Wo steht das im Code?

Danke,

Barnti

exp 24. Sep 2003 10:54

Re: Application.OnException Behandlung
 
Die JediVCL enthält doch solch eine Unit.

Hier eine mögliche Ausgabe einer Log von mir:

Code:
11.03.2003 16:24:37    -1 [004CF541] uIndyServerSocket.TClient.SendTextToSocket (Line 546, "uIndyServerSocket.pas" + 8) + $6
11.03.2003 16:24:37    -1 Zugriffsverletzung bei Adresse 004CF541 in Modul 'IntraSrv.exe'. Lesen von Adresse 00000068


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:10 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz