FPCUPDeluxe

Für Installationen unter Windows
Benutzeravatar
AlterPascaler
Beiträge: 45
Registriert: Mo 26. Jun 2023, 18:56
OS, Lazarus, FPC: Linux, Lazarus, Free Pascal
CPU-Target: xxBit
Wohnort: Deutschland, NRW

Re: FPCUPDeluxe

Beitrag von AlterPascaler »

Wie kann man diesen Link aufrufen? Muss man bei gitlab Mitglied sein? Ich sehe da irgendwie "nichts". Danke
Sorry, mein Fehler. War nicht sichtbar für nicht angemeldete Benutzer.
Jetzt sollte es gehen.

Gruß
AlterPascaler

Benutzeravatar
AlterPascaler
Beiträge: 45
Registriert: Mo 26. Jun 2023, 18:56
OS, Lazarus, FPC: Linux, Lazarus, Free Pascal
CPU-Target: xxBit
Wohnort: Deutschland, NRW

Re: FPCUPDeluxe

Beitrag von AlterPascaler »

War falsch konfiguriert.
Jetzt das ganze nochmal. Wär schaut schon rückwärts.

Eine Anmerkung zu Lazarus auf USB- Stick oder Externe- Laufwerke oder im Pfad verschieben.
Ab Lazarus 3.0 scheint das System zu erkennen, das es verschoben wurde und kompiliert die benötigten Object- Dateien dann neu. Was man allerdings noch machen muss ist die Konfiguration von Lazarus und FPC anpassen. Dafür habe ich mir ein kleines Programm erstellt, was die Konfiguration auf den neuen Installationspfad ändert. Getestet ist das unter Windows und Linux. Kopiert ihr euch die Lazarus- Installation auf einen USB-Stick, dann sollte das schon ein schneller Stick sein, sonst wartet ihr ewig. Ich Empfehle euch die bestehende Installation nicht zu löschen, sondern erst mit einer Kopie testen.

Das Programm findet ihr hier:https://gitlab.com/FpTuxe/lazatogo

Viele Grüße
AlterPascaler

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1436
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: FPCUPDeluxe

Beitrag von fliegermichl »

Wie kann ich beim FPCUpDeluxe einstellen, daß der FPC (bzw. RTL) mit Debuginformationen übersetzt wird?
Ich habe hier ein ganz merkwürdiges Problem.

Wenn ich die Instanz einer Klasse mit Free freigebe, dann wird ein privates Feld einer anderen Instanz mit einem unsinnigen Wert überschrieben.
Ich kann zwar einen Datenhaltepunkt setzen, der auch getriggert wird.
Dann lande ich aber in einem Assemblerfenster, mit dessen Inhalt ich nichts anfangen kann.

Stevie
Beiträge: 44
Registriert: Di 27. Feb 2024, 22:40

Re: FPCUPDeluxe

Beitrag von Stevie »

Wie kann ich beim FPCUpDeluxe einstellen, daß der FPC (bzw. RTL) mit Debuginformationen übersetzt wird?
Ich habe hier ein ganz merkwürdiges Problem.
Vor dem Bauen unter "Setup+" und dann "Options Override" das / die Häkchen für "Debug" bei "FPC options" und "Laz. options" setzen...

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1436
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: FPCUPDeluxe

Beitrag von fliegermichl »

Danke für die Info.

Aber irgendwie funktioniert das nicht richtig.
Es wurde anstandslos kompiliert.
Wenn ich aber mit F7 in den Aufruf p1.Free gehen will, so springt der Debugger einfach in die nächste Zeile und das lokale Feld einer anderen Klasseninstanz hat auf "magische" Weise einen unsinnigen Inhalt.

Ich probier jetzt mal eine aktuelle Lazarus FPC Kombination aus. Vielleicht geht es ja damit bereits.

Stevie
Beiträge: 44
Registriert: Di 27. Feb 2024, 22:40

Re: FPCUPDeluxe

Beitrag von Stevie »

Also, ich habe gerade mal den Test gemacht und mit FPCUpDeluxe eine neue Trunk-Installation gebaut und dabei die beiden Debug-Switches gesetzt. Danach habe ich Lazarus gestartet, einen Button ins Demo-Projekt gezogen und folgendermaßen ausimplementiert:

Code: Alles auswählen

procedure TForm1.Button1Click(Sender: TObject);
var
  myptr : Pointer;
begin
  myptr := AllocMem(5000);
  FreeMem(myptr, 5000);
end;  
Wenn ich nun einen Breakpoint auf dem AllocMem setze und F7 drücke, wenn ich dort ankomme, lande ich in heap.inc und dort erwartungs-(... bzw. hoffnungs?)gemäß auf der Funktion AllocMem:

Code: Alles auswählen

function AllocMem(Size:ptruint):pointer;
begin
  AllocMem := MemoryManager.AllocMem(size);
end; 
Vielleicht hilft es, wenn Du es noch mal in einer komplett neuen FPCUpDeluxe-Installation versuchst.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1436
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: FPCUPDeluxe

Beitrag von fliegermichl »

Merkwürdig,

ich hab eben mit der aktuellen Version von fpcupdeluxe FPC Stable und Lazarus fixes in ein leeres Verzeichnis installiert und genau den gleichen Test gemacht wie du.
F7 springt einfach in die nächste Zeile. Sowohl bei FPC als auch bei Lazarus war das Debug Häkchen gesetzt.

Stevie
Beiträge: 44
Registriert: Di 27. Feb 2024, 22:40

Re: FPCUPDeluxe

Beitrag von Stevie »

... mit welcher FPCUpDeluxe-Version bist Du unterwegs? Bei mir war es die 2.4.0a ...
... hab eben mit der aktuellen Version von fpcupdeluxe ...
Ah, gerade erst gesehen. Ich kann es bei mir auch noch mal mit der 2.4.0d versuchen.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1436
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: FPCUPDeluxe

Beitrag von fliegermichl »

Hab es eben nochmal versucht.
Komplett leeres Verzeichnis nur die fpcupdeluxe-i386-win32.exe (Version FPCUPdeluxe V2.4.0d for i386-win32-win32) reinkopiert und gestartet.
Setup+ (Häkchen gesetzt bei Debug für FPC, Lazarus war schon gesetzt)
FPC stable und Lazarus Trunk ausgewählt. (Ich hatte zuerst auch FPC Trunk gewählt, da gibt es aber Fehler beim compilieren)

Compiliert alles fehlerfrei und im Ausgabefenster von fpcupdeluxe steht auch bei FPC Options -g -gl -O1

Dein Beispiel 1:1 reinkopiert. Bei myptr := AllocMem(5000); Breakpoint gesetzt. F7 geht direkt in die nächste Zeile zu FreeMem.

Stevie
Beiträge: 44
Registriert: Di 27. Feb 2024, 22:40

Re: FPCUPDeluxe

Beitrag von Stevie »

So, habe es jetzt auch noch mal mit der 2.4.0d versucht und es geht auch mit dieser Version. Schau Dir doch mal das Output-Fenster von FPCUpDeluxe an, während - bzw. nachdem - es baut. Bei mir werden da großflächig Debug-Optionen gesetzt:

Code: Alles auswählen

... -Sg -vw-n-h-l-d-u-t-p-c- -g -gl -O1 ...
Bei Dir auch?

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1436
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: FPCUPDeluxe

Beitrag von fliegermichl »

Nein, -g -gl -O1, das ist alles, sollte doch aber auch reichen?
fpcupdeluxe.png
fpcupdeluxe.png (140.75 KiB) 2477 mal betrachtet
fpcupdeluxe2.png
fpcupdeluxe2.png (74.04 KiB) 2477 mal betrachtet

Stevie
Beiträge: 44
Registriert: Di 27. Feb 2024, 22:40

Re: FPCUPDeluxe

Beitrag von Stevie »

... ja, komisch, so sieht es bei mir auch aus.

Stevie
Beiträge: 44
Registriert: Di 27. Feb 2024, 22:40

Re: FPCUPDeluxe

Beitrag von Stevie »

Noch ein Gedanke: bist Du sicher, dass die richtige fpc.cfg gezogen wird? Die FPCUpDeluxe-Builds muss man ja über das generierte Icon starten, damit das der Fall ist. Ansonsten eventuell mal auf einem anderen PC versuchen?

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1436
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: FPCUPDeluxe

Beitrag von fliegermichl »

Ich hab jetzt mal das Häkchen gelöscht und bei FPC Options manuell "-Sg -vw-n-h-l-d-u-t-p-c- -g -gl -O1" eingetragen.
Compiliert auch alles aber geht trotzdem nicht.

Klar wird Lazarus mit dem von fpcupdeluxe erzeugten Link gestartet.

Stevie
Beiträge: 44
Registriert: Di 27. Feb 2024, 22:40

Re: FPCUPDeluxe

Beitrag von Stevie »

Also, irgendwie passieren in deiner fpcupdeluxe-Installation komische Dinge...

Vielleicht könntest Du noch mal eine Stufe niedriger ansetzen und Lazarus auslassen? Dann hast Du lediglich noch den PATH im Blick zu haben, um zu sehen, welche Binaries gezogen werden.

Ich habe das mal ausprobiert, das kleines Hallo-Welt-Programm direkt mit fpc übersetzt und dann im LLDB gestartet. Und auch da konnte ich einen Breakpoint auf AllocMem setzen und direkt rein steppen. Aber ich konnte über die PATH-Variable noch mal sicherstellen, welches fpc gezogen wurde.

Vielleicht kommst Du der Sache ja darüber auf die Spur?

Antworten