Package debuggen

Für Fragen rund um die Ide und zum Debugger
Antworten
braunbär
Beiträge: 369
Registriert: Do 8. Jun 2017, 18:21
OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10, FPC 3.2.0
CPU-Target: 64Bit
Wohnort: Wien

Package debuggen

Beitrag von braunbär »

Hallo!

Es gelingt mir nicht, Breakpoints in einer Unit eines Package zu setzen.

Ich habe ein Package mit zwei Units erstellt.
Dazu ein einfaches Anwendungsprogramm, um die Routinen des packages zu testen.
Das Anwendungsprogramm ist im gleichen Verzeichnis wie die Package-Datei und beide Units des Package.
Ich kann Haltepunkte in meinem Anwendungsprogramm setzen, dort bleibt das Programm bei der Ausführung stehen. Aber Haltepunkte in einer Unit des Package werden ignoriert, ich kann zwar welche setzen, aber das hilft nichts. Das Programm bleibt dort nicht stehen.
Ich kann nicht einmal in das Package hinein debuggen, Setze ich einen Haltepunkt vor dem Aufruf einer Prozedur, die im Package sitzt, dann bleibt das Programm dort vor dem Prozeduraufruf stehen, aber F7 und F8 machen genau das gleiche.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Package debuggen

Beitrag von wp_xyz »

Eigentlich würde ich erwarten, dass dein Programm auch die Package Units übersetzt, wenn alles sich im selben Verzeichnis befindet (was ich allerdings sowieso nicht empfehlen würde) - aber was ist heutzutage nicht alles unverstanden?

Der Geheimtipp um mit dem Debugger in die Units aller Packages zu gelangen, egal in welchem Verzeichnis sie stehen, ist, in den Projekt-Optionen unter "Additions and Overrides" (in der deutschen version "Hinzufügungen und Beeinflussungen" (schrecklicher Name)) die benutzerdefinierte Option -gw2 zu definieren. Dadurch werden Projekt und alle Abhängigkeiten mit denselben Debuggereinstellungen (hier Dwarf2) neu kompiliert. Der erste Compiliervorgang dauert etwas länger als sonst, weil auch die LCL etc. neu compiliert werden, genauso ist es, wenn du das nächste Projekt übersetzt (weil das -gw2 nicht aktiv ist).

braunbär
Beiträge: 369
Registriert: Do 8. Jun 2017, 18:21
OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10, FPC 3.2.0
CPU-Target: 64Bit
Wohnort: Wien

Re: Package debuggen

Beitrag von braunbär »

Kann ich diese Option bzw. die Debuggereinstellung Dwarf2 auch beim Kompilieren eines einzelnen Package aktivieren?
Weil eigentlich möchte ich (zumindest im Moment) gar keine LCL Packages debuggen, sondern nur mein eigenes.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Package debuggen

Beitrag von wp_xyz »

Kann mich nicht mehr erinnern, ich mache das nur noch über Additions and Overrides. Aber warum sollte das nicht gehen? Wichtig wahrscheinlich, dass auch dein Projekt mit dieser Einstellung kompiliert wird.

braunbär
Beiträge: 369
Registriert: Do 8. Jun 2017, 18:21
OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10, FPC 3.2.0
CPU-Target: 64Bit
Wohnort: Wien

Re: Package debuggen

Beitrag von braunbär »

Danke jedenfalls für den Lösungsweg, so funktioniert es.

Warum das notwendig ist, verstehe ich deshalb nicht, weil ich glaube, auch bei den Package-Optionen alles nötige zum Debuggen aktiviert zu haben, sodass die vom Debugger benötigten Informationen eigentlich auch erzeugt werden müssten, wenn ich das Package unabhängig kompiliere.

Aber Gottes Wege sind undurchschaubar, und was ist so ein Compiler schon anderes als ein kleiner Computergott. :D

Antworten