Einzelnen Beitrag anzeigen

Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#1

Konsolenanwendung mit Umleitung debuggen

  Alt 7. Jun 2019, 10:31
Hallo,

ich möchte eine Konsolenanwendung debuggen, die ihre Eingabe per Dateiumleitung erhält. Wird die Anwendung von der Kommandozeile heraus aufgerufen, funktioniert das auch. Im integrierten Debugger mit entsprechenden Startparametern allerdings nicht - dort wartet die Anwendung dann auf eine Tastatureingabe.

Delphi-Quellcode:
Program Redirect;


{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

var
  Line : string;
begin
  try
    Readln(Line);
    writeln('Output', Line);
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
Start -> Parameter : <input.txt

Inhalt der Datei: Eingabe<CR/LF>

Die einzige Möglichkeit die ich bisher gefunden habe, ist das Einfügen einer Warteschleife:
Delphi-Quellcode:
      {$ifdef DEBUG}
      writeln('Debugger');
      while not IsDebuggerPresent do
      begin
        Sleep(100);
      end;
      asm
        int 3;
      end;
      {$endif}
Dann wird die Anwendung auf der Kommandozeile gestartet und über Start->Mit Prozess verbinden funktioniert es.

Ebenfalls ausprobiert habe ich es mit cmd.exe /c als Hostanwendung, das Verhalten ändert sich aber nicht.

Wie kriege ich das mit dem integrierten Debugger und direktem Start hin?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat