Zeielnummer im Stacktrace

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Lemmy
Beiträge: 57
Registriert: Do 23. Feb 2017, 06:18

Zeielnummer im Stacktrace

Beitrag von Lemmy »

Hallo,

ich versuche mich seit ein paar Tagen in einem Stacktrace die zugehörigen Zeilennummern anzuzeigen. Die http://wiki.freepascal.org/Logging_exceptions und die http://www.freepascal.org/docs-html/3.0 ... rse58.html habe ich schon gelesen.
Was ich habe:
ein einfaches Programm mit einem Button und im OnClick sinnlosen Code:

Code: Alles auswählen

 
var test: TStringList;
begin
  test.Add('Hallo');
  test.sort;
end;
 


dann habe ich den Application.OnException gesetzt und in meiner Methode hole ich den StackTrace (über GetStackTracePointers und StackTraceAsString). Bis dahin passt alles, Exception kommt, eigener Dialog mit dem Stacktrace wird angezeigt.

In den Projekteinstellungen habe ich aktiv:
Debugging-Info (-g), Zeilennummern (-gl) und beim Compiler auch Zeilennummern (-vl)

es kommen aber keine Zeilennummern. Und jetzt das was mir den Verstand raubt: Packe ich die LineInfo in die uses meiner Unit, dann bekomme ich die Warnung dass ich bitte schön den -gl Schalter nutzen soll, aber manchmal kommen dann in meiner ShowMessage auch Zeilennummern. Ändere ich dann nur einen Text (z.B. aus dem Hallo ein Halo) und lasse das programm nochmal laufen, sind die Zeilennummern wieder weg. Wenn ich dann in den Projekteinstellungen rum ändere, Lineinfo raus nehme, ein paar mal neu compilieren lasse, dann sind die Zeilennummern wieder da... bis zur nächsten Änderung....

Was zum Geier mache ich falsch?

Mathias
Beiträge: 6193
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Zeielnummer im Stacktrace

Beitrag von Mathias »

Bei mir kommt die Zeilennummer, wo test.Add... steht, bei deinem Code.
Es fehlt ja test := TStringList.Create; .

Was hast du für eine Lazarus/FPC - Version ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Lemmy
Beiträge: 57
Registriert: Do 23. Feb 2017, 06:18

Re: Zeielnummer im Stacktrace

Beitrag von Lemmy »

Mathias hat geschrieben:Es fehlt ja test := TStringList.Create; .

ja, das ist mein Standardcode um so was zu testen :-)

Mathias hat geschrieben:Was hast du für eine Lazarus/FPC - Version ?


Lazarus 1.6.2 mit FPC 3.0.0 auf Centos 7, das waren die aktuellsten RPMs die ich gefunden habe....

Würdest Du mir mal dein Projekt zur Verfügung stellen?

Mathias
Beiträge: 6193
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Zeielnummer im Stacktrace

Beitrag von Mathias »

Würdest Du mir mal dein Projekt zur Verfügung stellen?

Was für ein Project ?

Oder willst du von mir ein einfaches Project, zum schauen wie meine Parameter Aussehen ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Lemmy
Beiträge: 57
Registriert: Do 23. Feb 2017, 06:18

Re: Zeielnummer im Stacktrace

Beitrag von Lemmy »

Mathias hat geschrieben:
Würdest Du mir mal dein Projekt zur Verfügung stellen?

Was für ein Project ?

Oder willst du von mir ein einfaches Project, zum schauen wie meine Parameter Aussehen ?


Ja das wäre gut, wenn es nicht zu viel verlangt ist :-)

Mathias
Beiträge: 6193
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Zeielnummer im Stacktrace

Beitrag von Mathias »

Hier ein Test-Projekt.
Dateianhänge
test2.zip
(126.24 KiB) 60-mal heruntergeladen
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten