Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Exception in Code Zeile Nr. ???? (https://www.delphipraxis.net/42104-exception-code-zeile-nr.html)

spacewolf 13. Mär 2005 18:47


Exception in Code Zeile Nr. ????
 
gibt es eine Möglichkeit die Zeilennummer einer Exception auszugeben ?

z.B.

Delphi-Quellcode:
on e:Exception
do ShowMessage(e.ClassName#13#10+e.Message+#13#10[b]e.ZEILENNUMMER[/b]);
:gruebel:

thanXs say the little Andreas :stupid:

Luckie 13. Mär 2005 18:49

Re: Exception in Code Zeile Nr. ????
 
Du könntest mit Delphi-Referenz durchsuchenAssert arbeiten. Oder du benutzt die Units von Hier im Forum suchenMadshi.

Bernhard Geyer 13. Mär 2005 19:25

Re: Exception in Code Zeile Nr. ????
 
In der Jedi Code Library gibt es eine Unit die dir die "C-Like-Makros" __LINE__ und ähnliches bereitstellt.
Funktioniert jedoch nur wenn auch entsprechende Debug-Infos (TD32-Debuginfos) in die Exe kompiliert wurden.

mirage228 13. Mär 2005 19:27

Re: Exception in Code Zeile Nr. ????
 
Zitat:

Zitat von Bernhard Geyer
In der Jedi Code Library gibt es eine Unit die dir die "C-Like-Makros" __LINE__ und ähnliches bereitstellt.
Funktioniert jedoch nur wenn auch entsprechende Debug-Infos (TD32-Debuginfos) in die Exe kompiliert wurden.

Die TD32 machen die EXEn doch locker doppelt und dreifach so groß oder?

mfG
mirage228

Luckie 13. Mär 2005 19:29

Re: Exception in Code Zeile Nr. ????
 
Du sollst sie ja damit nicht ausliefern, sondern nur beim Entwicklen nutzen.

Bernhard Geyer 13. Mär 2005 19:47

Re: Exception in Code Zeile Nr. ????
 
Zitat:

Zitat von mirage228
Zitat:

Zitat von Bernhard Geyer
In der Jedi Code Library gibt es eine Unit die dir die "C-Like-Makros" __LINE__ und ähnliches bereitstellt.
Funktioniert jedoch nur wenn auch entsprechende Debug-Infos (TD32-Debuginfos) in die Exe kompiliert wurden.

Die TD32 machen die EXEn doch locker doppelt und dreifach so groß oder?

Aber ohne entsprechende Infos bekommst Du die Zeilennumer nicht raus.
Erst bei .NET ist sowas auch ohne Debug-Infos möglich.

Union 13. Mär 2005 20:52

Re: Exception in Code Zeile Nr. ????
 
Sehr gut ist auch EurekaLog, das ist zwar nicht kostenlos, aber bläht die EXE nur um ca. 5% auf. Dafür kriegst Du dann sowas (auf Wunsch auch automatisch per SMTP):

Code:
Exception:
----------------------------------------------------
  2.1 Date  : Tue, 1 Feb 2005 01:17:21 +0100
  2.2 Address: 005261AF
  2.3 Module : lager.exe
  2.4 Type  : EADSDatabaseError
  2.5 Message: tblBestand: Dataset not in edit mode.
...
|0052819C|lager.exe  |adsdata.pas |TAdsDataSet   |DataEvent                  |7895 |
|005108AE|lager.exe  |DB.pas      |TDataSet      |MoveBy                     |10134|
|00510708|lager.exe  |DB.pas      |TDataSet      |MoveBy                     |10084|
|005108F6|lager.exe  |DB.pas      |TDataSet      |Next                       |10144|
|005108D0|lager.exe  |DB.pas      |TDataSet      |Next                       |10141|
|0075386D|lager.exe  |bestand.pas |TfrmBestand   |btnVorClick                |417  |

Robert Marquardt 14. Mär 2005 05:33

Re: Exception in Code Zeile Nr. ????
 
Die Debug-Extension der JCL komprimiert das Map-File und tackert es als eigenes Segment an das EXE.

Viktorii 18. Mai 2011 07:59

AW: Exception in Code Zeile Nr. ????
 
Kann Delphi (XE) sowas mittlerweile von Hause aus?

Viktorii 19. Mai 2011 09:38

AW: Exception in Code Zeile Nr. ????
 
*push*


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 Uhr.

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