Wie kann ich eine Konsolenanwendung debuggen?

Für Fragen rund um die Ide und zum Debugger
Antworten
kirchfritz
Beiträge: 214
Registriert: Mo 3. Jan 2011, 13:34
OS, Lazarus, FPC: Win11 (L 3.0 FPC 3.2.2)
CPU-Target: 64Bit
Wohnort: Nürnberg

Wie kann ich eine Konsolenanwendung debuggen?

Beitrag von kirchfritz »

Hallo

ich erstelle umit Lazarus unter Windows eine neue Konsolenanwendung mit folgendem Quellcode:

Code: Alles auswählen

program testproject;
 
{$mode objfpc}{$H+}
 
uses
  Classes;
 
var inputline : string;
 
begin
  while not eof do
  begin
    readln(inputline);
    writeln(inputline);
  end;
end.  
 
Aufrufen will ich das ganze in einem Konsolenfenster mit folgender Befehlszeile:
c:\>testprojekt.exe <xxx.txt

Ich erwarte, dass die Textdatei xxx.txt zeilenweise gelesen und ausgegeben wird.
Das funktioniert sehr gut sogar.

Will ich aber das Ganze schrittweise debuggen, bleibt das Konsolenfenster stehen und wartet auf Eingabe.
Bei den Startparametern habe ich unter
"Kommandozeilenparameter (ohne Programmname)"
<xxx.txt
eingegeben.

Irgendwas mache ich falsch.
Kann mir jemand weiterhelfen?

marcov
Beiträge: 1102
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Wie kann ich eine Konsolenanwendung debuggen?

Beitrag von marcov »

Ja und nein. Pipes und Redirects sind keine Parameter, und diese Shell Funktionen werden typisch nicht durch Debugger unterstützt.

kirchfritz
Beiträge: 214
Registriert: Mo 3. Jan 2011, 13:34
OS, Lazarus, FPC: Win11 (L 3.0 FPC 3.2.2)
CPU-Target: 64Bit
Wohnort: Nürnberg

Re: Wie kann ich eine Konsolenanwendung debuggen?

Beitrag von kirchfritz »

Hat niemand eine Idee?

mischi
Beiträge: 206
Registriert: Di 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x
CPU-Target: 32Bit/64bit

Re: Wie kann ich eine Konsolenanwendung debuggen?

Beitrag von mischi »

kirchfritz hat geschrieben:Hat niemand eine Idee?
Ich würde konkrete files vereinbaren. Das ist ja nicht so viel Code und kann man auch leicht wieder raus nehmen, wenn es läuft. Ist damit klar, was ich meine? mit assign und open?

MiSchi
MiSchi macht die fink-Pakete

Antworten