Lazarus debuggen
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Lazarus debuggen
Wie kann man Packages und Komponeneten debuggen, die auf Eigenschaften zugreifen die erst zur Laufzeit von Lazarus selbst verfügbar sind.
Wenn ich das ganze von einer Testumgebung aus aufrufe, sind natürlich die ganzen Variablen nicht initialisiert. Wenn das ganze im Lazarus installiert ist, dann gehts, nur kann dich dann den Code nicht wirklich debuggen. Zumindest ICH momentan nicht.
Ich habe da irgendwie momentan das Henne-Ei Problem. Wie handhaben das Lazarusentwickler selbst ? Oder stehe ich mir da selbst nur irgendwie im Weg.
THX 4 HELP
Wenn ich das ganze von einer Testumgebung aus aufrufe, sind natürlich die ganzen Variablen nicht initialisiert. Wenn das ganze im Lazarus installiert ist, dann gehts, nur kann dich dann den Code nicht wirklich debuggen. Zumindest ICH momentan nicht.
Ich habe da irgendwie momentan das Henne-Ei Problem. Wie handhaben das Lazarusentwickler selbst ? Oder stehe ich mir da selbst nur irgendwie im Weg.
THX 4 HELP
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
Andi,
für den Wizard hab ich im Linker die Symbole für GDB aktiviert. Normalerweise hast du dann alle Symbole zum Debuggen. Die Laz-Umgebung ist ohne Debug-Symbole kompiliert, also unser ../lib wird ziemlich voll weil er alle neu kompiliert die keine Symbole haben und in der uses auftauchen. Im Zweifel kannst du also versuchen die notwendigen Units einfach mit einzubinden. Vielleicht sollten wir mal ein {$define debug} setzen und dann entsprechend die uses und entsprechende Programmteile in ifdef's einschließen.
für den Wizard hab ich im Linker die Symbole für GDB aktiviert. Normalerweise hast du dann alle Symbole zum Debuggen. Die Laz-Umgebung ist ohne Debug-Symbole kompiliert, also unser ../lib wird ziemlich voll weil er alle neu kompiliert die keine Symbole haben und in der uses auftauchen. Im Zweifel kannst du also versuchen die notwendigen Units einfach mit einzubinden. Vielleicht sollten wir mal ein {$define debug} setzen und dann entsprechend die uses und entsprechende Programmteile in ifdef's einschließen.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.
(Ringelnatz)
(Ringelnatz)
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Das ist nicht mein Problem, sondern Sachen wie:
Code: Alles auswählen
var
NewIDEItems: TNewIDEItemCategories;// will be set by the IDE !!!!!!!!!!!!!!!
/code]
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
Jepp,
das hab ich gerade mit:
beim Wickel. Nimm das in die uses auf und mach daraus:
Das könnte in deinem Fall so ähnlich laufen. Allerdings wirst du dieses Code-Stück von mir ebenfalls brauchen. Deswegen brauch ich jetzt erstmal die Routine auf der gesamten Platte nach der Laz-Installation zu suchen, also genau nach dem File environmentopts.xml. Wenn das geladen ist hast du sämtliche Umgebungsparameter die wir brauchen. Das sollte aber möglichst BS-unabhängig sein, also mit FindFirst/FindNext oder ähnlich. Es sei denn, dir fällt was ein was ich nocht nicht gesehen hab?
das hab ich gerade mit:
Code: Alles auswählen
var
EnvironmentOptions: TEnvironmentOpts;
Code: Alles auswählen
begin
EnvironmentOptions:= TEnvironmentOpts.Create;
EnvironmentOptions.FileName:= '{pfad}/environmentopts.xml';
EnvironmentOptions.Load(false);
end;
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.
(Ringelnatz)
(Ringelnatz)
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Da sbehebt aber nich das Problem mit dem Debuggen, es ist ein Workaround, ändert aber an der Frage zum Debugging nichts.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
Hmmm,
bin ich heute mit dem falschen Fuß zuerst aufgestanden? Ich debug doch am Wizard rum. Bei einer Komponente geht das auch nicht anders. GDB-Symbole an, Komponenten-Datei laden und Breakpunkt setzen. Dann sollte das gehen. Ein Testproggi brauchste natürlich schon. Wenns IDE-Dateien sind, dann müssen die ebenfalls neu kompiliert werden.
bin ich heute mit dem falschen Fuß zuerst aufgestanden? Ich debug doch am Wizard rum. Bei einer Komponente geht das auch nicht anders. GDB-Symbole an, Komponenten-Datei laden und Breakpunkt setzen. Dann sollte das gehen. Ein Testproggi brauchste natürlich schon. Wenns IDE-Dateien sind, dann müssen die ebenfalls neu kompiliert werden.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.
(Ringelnatz)
(Ringelnatz)
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Genau, aber manches geht mit den Testproggi nicht, da es erst IDE-intern mit Werten befüllt wird. Genau dann gibts Probleme.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Bingo. Genau das ist der Pudels-Kern (Im übertragenen Sinn
).

Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Na, ja klingt einfach, ist es aber nicht ... bis jetzt kann ich sie ...Erstell ein Projekt und füge die lazarus.pp ein.....
Dann start das projekt au der ide, die ide wird compiliert und gestartet
Und kannst debuggen
@christian: Hast Du das genau so bereits gemacht, oder ist das nur ein allgemeiner Tip ?!
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
Das ist das hüpfende Komma,
ich vermute mal da wirst du etwas mehr als nur Lazarus.pp aufnehmen müssen, vermutlich auch main.pp. Und dann dürften sämtlich Pfade zu den Quellen von Nöten sein. Da sollte sich doch eigentlich ein fertiges Projekt auf Website finden lassen.
ich vermute mal da wirst du etwas mehr als nur Lazarus.pp aufnehmen müssen, vermutlich auch main.pp. Und dann dürften sämtlich Pfade zu den Quellen von Nöten sein. Da sollte sich doch eigentlich ein fertiges Projekt auf Website finden lassen.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.
(Ringelnatz)
(Ringelnatz)
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Ach Schnuller,
Lazarus, Pfade und af0815 passen irgendwie nicht zusammen.
Der Weg selbst, so wie ihn Christian vorzeichnet ist sicherlich der richtige. Somit kommen habe wir dann auch eine Version die 'debugging' fahig ist, samt den Erweiterungen.


Der Weg selbst, so wie ihn Christian vorzeichnet ist sicherlich der richtige. Somit kommen habe wir dann auch eine Version die 'debugging' fahig ist, samt den Erweiterungen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 1187
- Registriert: Mi 13. Dez 2006, 10:58
- OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
- CPU-Target: AMD A4-6400 APU
- Wohnort: Hamburg
Na gut,
ich bau morgen die Dateisuche rekursiv rein, dann klappert er alle Verzeichnisse ab bis Treffer.
Erzähl mir mal jemand wie das bei MacOS aussieht, hab ich zwar vor Jahren mal gesehen aber keinerlei Erinnerung mehr wie das aussah.
ich bau morgen die Dateisuche rekursiv rein, dann klappert er alle Verzeichnisse ab bis Treffer.
Erzähl mir mal jemand wie das bei MacOS aussieht, hab ich zwar vor Jahren mal gesehen aber keinerlei Erinnerung mehr wie das aussah.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.
(Ringelnatz)
(Ringelnatz)