![]() |
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 ? |
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 ( ![]() ...:cat:... |
Re: Application.OnException Behandlung
Danke sakura :hello:
Das sollte die Lösung für mein Problem sein. :spin: Zitat:
|
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. |
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.
|
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. :) |
Re: Application.OnException Behandlung
Geh mal auf
![]() |
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: |
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 |
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:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz