Wie debuggt man Konsole Anwendungen unter Lazarus für Linux?
-
- Beiträge: 323
- Registriert: Di 12. Apr 2011, 13:21
- OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1
- CPU-Target: 1core 1,8GHz 32Bit
- Wohnort: Fürth
- Kontaktdaten:
Wie debuggt man Konsole Anwendungen unter Lazarus für Linux?
Hallo,
ich kriege beim Debuggen kein Konsolenfenster geöffnet.
Gruß
Heiner
ich kriege beim Debuggen kein Konsolenfenster geöffnet.
Gruß
Heiner
-
- Beiträge: 475
- Registriert: Do 15. Nov 2007, 16:58
- OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
- CPU-Target: i386, x64
- Wohnort: Gera
Re: Wie debuggt man Konsole Anwendungen unter Lazarus für Linux?
Ich selbst, hab es noch nicht gemacht, aber guck mal unter "Start/Startparameter", da gibt es "Startprogramm verwenden"(ggf. Parameter anpassen). Das sollte eine Konsole öffnen.
mfg Ingo
-
- Beiträge: 308
- Registriert: Do 9. Apr 2009, 10:10
- OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
- CPU-Target: 32Bit
- Wohnort: 785..
Re: Wie debuggt man Konsole Anwendungen unter Lazarus für Linux?
Bei "startprogramm verwenden" funktioniert das debuggen nicht. (zumindest war das lange zeit bei gui-programmen so).
Mein vorgehen für sowas war so:
Lazarus in einem Konsolenfenster öffnen ... die Umsetzung der kommandozeilenausgabe braucht manchmal paar zeilen vorlauf bis der Puffer von einigen Zeilen dann im Konsolenfenster ausgegeben wird.
Mein vorgehen für sowas war so:
Lazarus in einem Konsolenfenster öffnen ... die Umsetzung der kommandozeilenausgabe braucht manchmal paar zeilen vorlauf bis der Puffer von einigen Zeilen dann im Konsolenfenster ausgegeben wird.
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)
-
- Beiträge: 323
- Registriert: Di 12. Apr 2011, 13:21
- OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1
- CPU-Target: 1core 1,8GHz 32Bit
- Wohnort: Fürth
- Kontaktdaten:
Re: Wie debuggt man Konsole Anwendungen unter Lazarus für Linux?
Danke für die Hilfeversuche!
Wenn ich gnome-terminal als Startprogramm verwende, bleibt mein Programm an Breakpoints nicht stehen. Auch die Parameter für mein Programm machen Probleme. Ich möchte leere Parameter und Parameter mit Leerzeichen verwenden. Auf der Shell kann ich Anführungszeichen oder Apostrophe um diese Parameter oder \ vor die Leerzeichen setzen. Das klappt bei Lazarus nicht.
Wenn ich Lazarus im gnome-terminal starte, funktionieren die Breakpoints, aber ich kriege keine Ausgabe von meinem Programm (writeln();) und readln; wartet nicht auf eine Eingabe.
Gruß
Heiner
Wenn ich gnome-terminal als Startprogramm verwende, bleibt mein Programm an Breakpoints nicht stehen. Auch die Parameter für mein Programm machen Probleme. Ich möchte leere Parameter und Parameter mit Leerzeichen verwenden. Auf der Shell kann ich Anführungszeichen oder Apostrophe um diese Parameter oder \ vor die Leerzeichen setzen. Das klappt bei Lazarus nicht.
Wenn ich Lazarus im gnome-terminal starte, funktionieren die Breakpoints, aber ich kriege keine Ausgabe von meinem Programm (writeln();) und readln; wartet nicht auf eine Eingabe.
Gruß
Heiner
-
- Beiträge: 308
- Registriert: Do 9. Apr 2009, 10:10
- OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
- CPU-Target: 32Bit
- Wohnort: 785..
Re: Wie debuggt man Konsole Anwendungen unter Lazarus für Linux?
das ist die genauere beschreibung von meinem "debuggen funktioniert nicht"Heinrich Wolf hat geschrieben: Wenn ich gnome-terminal als Startprogramm verwende, bleibt mein Programm an Breakpoints nicht stehen.
eh ja startparameter wird dann schwierig mit debuggenHeinrich Wolf hat geschrieben: Auch die Parameter für mein Programm machen Probleme. Ich möchte leere Parameter und Parameter mit Leerzeichen verwenden.
Auf der Shell kann ich Anführungszeichen oder Apostrophe um diese Parameter oder \ vor die Leerzeichen setzen. Das klappt bei Lazarus nicht.
bitte 200 mal writeln aufrufen. Dann kam bei mir immer irgendwann die Ausgabe.Heinrich Wolf hat geschrieben: Wenn ich Lazarus im gnome-terminal starte, funktionieren die Breakpoints, aber ich kriege keine Ausgabe von meinem Programm (writeln();) und readln; wartet nicht auf eine Eingabe.
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)
-
- Beiträge: 657
- Registriert: Sa 9. Jan 2010, 17:32
- OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
- CPU-Target: 64Bit
Re: Wie debuggt man Konsole Anwendungen unter Lazarus für Linux?
Ein FlushThread;-Aufruf im Programm nach einem writeln tuts auchu-boot hat geschrieben:bitte 200 mal writeln aufrufen. Dann kam bei mir immer irgendwann die Ausgabe.Heinrich Wolf hat geschrieben: Wenn ich Lazarus im gnome-terminal starte, funktionieren die Breakpoints, aber ich kriege keine Ausgabe von meinem Programm (writeln();) und readln; wartet nicht auf eine Eingabe.

-
- Beiträge: 323
- Registriert: Di 12. Apr 2011, 13:21
- OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1
- CPU-Target: 1core 1,8GHz 32Bit
- Wohnort: Fürth
- Kontaktdaten:
Re: Wie debuggt man Konsole Anwendungen unter Lazarus für Linux?
Ich hab FlushThread eingebaut und krieg immer noch keine Ausgabe.carli hat geschrieben:Ein FlushThread;-Aufruf im Programm nach einem writeln tuts auch
-
- Beiträge: 308
- Registriert: Do 9. Apr 2009, 10:10
- OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
- CPU-Target: 32Bit
- Wohnort: 785..
Re: Wie debuggt man Konsole Anwendungen unter Lazarus für Linux?
warum richtig wenns falsch auch schon gingcarli hat geschrieben:Ein FlushThread;-Aufruf im Programm nach einem writeln tuts auch

aber ok wenigstens weiss ich jetzt wie es richtig geht

Ich rate mal das könnte an der Ausführlichkeit der Compilerausgaben liegen.Heinrich Wolf hat geschrieben:Ich hab FlushThread eingebaut und krieg immer noch keine Ausgabe.
Schätzungsweise sollte Parameter -vd verwendet werden.
Falls es nicht geht einfach mal mit -va probieren.
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)
-
- Beiträge: 657
- Registriert: Sa 9. Jan 2010, 17:32
- OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
- CPU-Target: 64Bit
Re: Wie debuggt man Konsole Anwendungen unter Lazarus für Linux?
Uff,Heinrich Wolf hat geschrieben:Ich hab FlushThread eingebaut und krieg immer noch keine Ausgabe.carli hat geschrieben:Ein FlushThread;-Aufruf im Programm nach einem writeln tuts auch
bei mir hat ein Flush(stdout);FlushThread; immer geholfen.
Vorausgesetzt, dein Programm macht _wirklick_ eine Ausgabe
-
- Beiträge: 323
- Registriert: Di 12. Apr 2011, 13:21
- OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1
- CPU-Target: 1core 1,8GHz 32Bit
- Wohnort: Fürth
- Kontaktdaten:
Re: Wie debuggt man Konsole Anwendungen unter Lazarus für Linux?
-va bringt nicht die gewünschten Ausgaben.
-
- Beiträge: 323
- Registriert: Di 12. Apr 2011, 13:21
- OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1
- CPU-Target: 1core 1,8GHz 32Bit
- Wohnort: Fürth
- Kontaktdaten:
Re: Wie debuggt man Konsole Anwendungen unter Lazarus für Linux?
flush(stdout); bringt auch nichts.
Ich hab Lazarus 0.9.31 aus svn
Ich hab Lazarus 0.9.31 aus svn
-
- Beiträge: 588
- Registriert: Mi 25. Mär 2009, 21:12
- OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
- CPU-Target: mostly 32 bit
Re: Wie debuggt man Konsole Anwendungen unter Lazarus für Linux?
eine wirklich gute Lösung gibt es nicht.
Aber so geht es:
Irgendein Terminal, öffnen (unabhängig von Lazarus)
Mittels "tty" den Namen des Terminal erfahren.
In Lazarus, unter optionen/debugger, diesen eintragen.
App starten => in/output gehen an das Terminal
Aber so geht es:
Irgendein Terminal, öffnen (unabhängig von Lazarus)
Mittels "tty" den Namen des Terminal erfahren.
In Lazarus, unter optionen/debugger, diesen eintragen.
App starten => in/output gehen an das Terminal
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: Wie debuggt man Konsole Anwendungen unter Lazarus für Linux?
Naja, MSEide hat ein eigenes "Target Console" Fenster, welches sowohl unter Linux als auch unter Windows funktioniert. Unter Linux wird ein pseudo terminal benutzt, damit FPC die writeln Ausgabe automatisch flushed. Unter Windows gibt es keine solche Möglichkeitmartin_frb hat geschrieben:eine wirklich gute Lösung gibt es nicht.
http://www.mail-archive.com/fpc-devel@l ... 04947.html
Da muss entweder eine externe Windows-Konsole verwendet werden ('Project'-'Options'-'Debugger'-'External-Console'), flush(output) aufgerufen oder die FlushFunc in TextRec(output) auf InOutFunc gesetzt werden.
Code: Alles auswählen
TextRec(output).FlushFunc:= TextRec(output).InOutFunc;
-
- Beiträge: 323
- Registriert: Di 12. Apr 2011, 13:21
- OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1
- CPU-Target: 1core 1,8GHz 32Bit
- Wohnort: Fürth
- Kontaktdaten:
Re: Wie debuggt man Konsole Anwendungen unter Lazarus für Linux?
@martin_frb
Danke! Das klappt. Endlich eine qualifizierte Antwort. Warum soll diese Lösung nicht wirklich gut sein?
@mse
Um Windows ging es nicht. Da klappt das Debuggen ohne Verrenkungen.
Danke! Das klappt. Endlich eine qualifizierte Antwort. Warum soll diese Lösung nicht wirklich gut sein?
@mse
Um Windows ging es nicht. Da klappt das Debuggen ohne Verrenkungen.
-
- Beiträge: 588
- Registriert: Mi 25. Mär 2009, 21:12
- OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
- CPU-Target: mostly 32 bit
Re: Wie debuggt man Konsole Anwendungen unter Lazarus für Linux?
in SVN-Trunk gibt es jetzt ein console-window.
Extrem basic, gibt alle ausgaben des Programms wieder, verarbeitet aber keine escape sequencen, wie andere terminals
Eingabe ans Programm: Nur ganze Zeilen.
Ist noch in der Entwickelung
Extrem basic, gibt alle ausgaben des Programms wieder, verarbeitet aber keine escape sequencen, wie andere terminals
Eingabe ans Programm: Nur ganze Zeilen.
Ist noch in der Entwickelung