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?