Hallo!
Wieder so eine wahrscheinlich triviale Frage: kann man mit 'writeln' auch in LCL-Programmen arbeiten?
Grund der Denke ist, ich muss ein console-Programm schreiben, welches sich bekanntlich ja nicht gut aus der IDE heraus debuggen läßt. Wenn ich es nun schaffen könnte, "einfach" eine Art Wrapper drumherum bastele, das also irgendwie in ein Form einbetten kann, wäre das ja wiederum lauffähig und debug-fähig, wenn man nicht auf Eingaben angewiesen ist.
Oder stelle ich mir das zu einfach vor?
Gruß
_c_
Writeln-Ausgabe umleiten??
-
- Beiträge: 512
- Registriert: Mo 25. Aug 2008, 18:17
- OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
- CPU-Target: x86
- Wohnort: Chemnitz
Re: Writeln-Ausgabe umleiten??
Zu debug zwecken gibt es debugln oder die MultiLog library (letztere kann ich sehr empfehlen).
-
- Beiträge: 20
- Registriert: Fr 23. Mai 2008, 00:29
- OS, Lazarus, FPC: Windows|Linux (L 3.8.0 FPC 3.2.2)
- CPU-Target: Intel
- Wohnort: Münster
- Kontaktdaten:
Re: Writeln-Ausgabe umleiten??
Die Lazarus-IDE ist gut in der Lage ein Consolenprogramm zu debuggen. {$APPTYPE CONSOLE}ein console-Programm schreiben, welches sich bekanntlich ja nicht gut aus der IDE heraus debuggen läßt.
Ich mache das für Windows, Linux und Mac. Warum sollte das nicht klappen?
Der Debugger GDB ist sogar selbst ein Consolenprogramm.
Um die Frage zu beantworten:
Das native Writeln verwendet implizit die Textdatei Output für alle Ausgaben.
Diese kann man Assign/Rewrite auch in eine Datei umleiten:
Code: Alles auswählen
begin
assign(output,'debug.tmp');
rewrite(output);
writeln('Mein Debugtext ...');
close(output);
end.
Auf Wunsch kann ich den Code raussuchen.
-
- 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: Writeln-Ausgabe umleiten??
Letzhin haben wir gerätselt, wie das unter Linux zu machen wäre und haben ausser der Verwendung von MSEide mit der eingebauten Target-Konsole lediglich eine schrecklich komplizierte Methode gefunden:df.id hat geschrieben: Die Lazarus-IDE ist gut in der Lage ein Consolenprogramm zu debuggen. {$APPTYPE CONSOLE}
Ich mache das für Windows, Linux und Mac. Warum sollte das nicht klappen?
Der Debugger GDB ist sogar selbst ein Consolenprogramm.
http://www.lazarusforum.de/viewtopic.php?f=9&t=3080
Wie kommst du an die stdout und strderr Ausgaben, wie machst du stdinp Eingaben?
Martin
Re: Writeln-Ausgabe umleiten??
Richtig! Schliess mich der Frage voll an!
Wie kann man ein console programm aus der IDE heraus debuggen, so mit Breakpoints usw.?
Konnte da selbst von einem der Devs nicht wirklich eine Antwort erhalten, ausser dass es mit nem nicht freigegebenen Patch irgendwie machbar sein sollte, wobei der Patch aber nicht wirklich gefällt : http://forum.lazarus.freepascal.org/ind ... 773.0.html
Wie kann man ein console programm aus der IDE heraus debuggen, so mit Breakpoints usw.?
Konnte da selbst von einem der Devs nicht wirklich eine Antwort erhalten, ausser dass es mit nem nicht freigegebenen Patch irgendwie machbar sein sollte, wobei der Patch aber nicht wirklich gefällt : http://forum.lazarus.freepascal.org/ind ... 773.0.html