Lazarus debuggen

Rund um die LCL und andere Komponenten
Antworten
Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
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

Beitrag von af0815 »

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
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

schnullerbacke
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

Beitrag von schnullerbacke »

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.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
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:

Beitrag von af0815 »

Das ist nicht mein Problem, sondern Sachen wie:
[code=laz]
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).

schnullerbacke
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

Beitrag von schnullerbacke »

Jepp,

das hab ich gerade mit:

Code: Alles auswählen

var
   EnvironmentOptions: TEnvironmentOpts;


beim Wickel. Nimm das in die uses auf und mach daraus:

Code: Alles auswählen

begin
  EnvironmentOptions:= TEnvironmentOpts.Create;
  EnvironmentOptions.FileName:= '{pfad}/environmentopts.xml';
  EnvironmentOptions.Load(false);
end;


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?
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
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:

Beitrag von af0815 »

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).

schnullerbacke
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

Beitrag von schnullerbacke »

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.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
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:

Beitrag von af0815 »

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).

schnullerbacke
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

Beitrag von schnullerbacke »

Haben die möglicherweise zum debuggen ein entsprechendes Projekt und starten das ganze aus einer 2ten Installation? So würde ich das machen um nicht unbedingt auf meiner Umgebung Änderungen vorzunehmen.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
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:

Beitrag von af0815 »

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).

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Erstell ein Projekt und füge die lazarus.pp ein.....
Dann start das projekt au der ide, die ide wird compiliert und gestartet :p
Und kannst debuggen
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
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:

Beitrag von af0815 »

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


Na, ja klingt einfach, ist es aber nicht ... bis jetzt kann ich sie ...

@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).

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

allgemein ich weiss aber das es geht habs aber noch nicht gemacht such mal auf der mailinglist und im englishsprachigen forum
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

schnullerbacke
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

Beitrag von schnullerbacke »

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.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
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:

Beitrag von af0815 »

Ach Schnuller,

:cry: Lazarus, Pfade und af0815 passen irgendwie nicht zusammen. :cry:

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).

schnullerbacke
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

Beitrag von schnullerbacke »

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.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Antworten