Konsolenanwendung, kein Fenster mehr beim Debuggen

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1496
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Konsolenanwendung, kein Fenster mehr beim Debuggen

Beitrag von corpsman »

Hallo zusammen,

Wenn ich folgendes mache

"Projekt->Neues Projekt->Einfaches Programm" und dann folgendes Programmiere:

Code: Alles auswählen

program project1;

{$R *.res}

begin

  writeln('Hallo Welt');
  readln();
end.

Dann dass Programm ausführe, öffnete sich Früher ein Konsolenfenster (unter Windows) und ich konnte "Hallo Welt" lesen, mit Return das Readln bedienen und das Programm beendete sich wieder.

Jetzt stützt lazarus erst mal ab.

Dann mache ich bei
Projekt->Projekt einstellungen->Compilereinstellungen->Konfiguration und Ziele->Win 32 Gui Anwendung
den Hacken Weg und ich kann das Programm wieder Starten und Debuggen. Das Konsolenfenster bleibt aber dennoch weg.

Von Linux her kenne ich das schon, da gibt es dann die Möglichkeit mittels
Ansicht -> Debugfenster-> Konsolenansicht
die Konsolenausgabe an zu zeigen. Unter Windows gibt es diese Option aber leider nicht.

Aktuell habe ich Lazarus 2.1.0 Revision 64415 drauf.

Könnt ihr das nachstellen, bestätigen ?
Habt ihr lösungen ?
--
Just try it

shokwave
Beiträge: 470
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: Konsolenanwendung, kein Fenster mehr beim Debuggen

Beitrag von shokwave »

Das "Einfaches Programm" wird, glaube ich, in dem Zusammenhang tatsächlich als GUI-Programm behandelt. Was du suchst ist die "Konsolenanwendung".
Alternativ kannst du auch mal unter Start/Startparameter gucken und bei "Startprogramm verwenden" das Häkchen rein machen.

Hoffe das hilft dir.
mfg Ingo

martin_frb
Beiträge: 572
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: Konsolenanwendung, kein Fenster mehr beim Debuggen

Beitrag von martin_frb »

Dann mache ich bei
Projekt->Projekt einstellungen->Compilereinstellungen->Konfiguration und Ziele->Win 32 Gui Anwendung
den Hacken Weg
Richtig.

Dann vielleicht erstmal ausserhalb der IDE testen....

Welchen Debugger verwendest Du? Und 64 order 32 bit?

Bei FpDebug gibt es ne Option "Force new Console"...

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1496
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Konsolenanwendung, kein Fenster mehr beim Debuggen

Beitrag von corpsman »

@martin
Standard installation
-> Windows 64 mit GCC ist das glaubig..

Die Konsolenanwendung hatte ich nicht genommen weil die von TApplication ableitet und ich das alles nicht haben wollte -> so kriege ich die "kleinstmögliche" Exe. Mein Programm braucht den ganzen schnickschnack nicht ;).
--
Just try it

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Konsolenanwendung, kein Fenster mehr beim Debuggen

Beitrag von Michl »

corpsman hat geschrieben:
Fr 26. Mär 2021, 09:26
Wenn ich folgendes mache

"Projekt->Neues Projekt->Einfaches Programm" und dann folgendes Programmiere:

Code: Alles auswählen

program project1;

{$R *.res}

begin

writeln('Hallo Welt');
readln();
end.

Dann dass Programm ausführe, öffnete sich Früher ein Konsolenfenster (unter Windows) und ich konnte "Hallo Welt" lesen, mit Return das Readln bedienen und das Programm beendete sich wieder.
Das ist ja auch richtig und hier immer noch so. Windows 7, Lazarus Trunk Rev. 64871 (64 & 32bit, FPC 3.0.4, 3.2.0 & 3.3.1) getestet.

corpsman hat geschrieben:
Fr 26. Mär 2021, 09:26
Jetzt stützt lazarus erst mal ab.
Das sollte nicht sein. Bitte update deine Lazarus Trunk Version. Wenn es immer noch nicht geht, welches OS und welches FPC nutzt du genau?


PS: Du bist dir auch sicher, daß die project1.res gemäß deinem Code

Code: Alles auswählen

{$R *.res}
auch im Projektverzeichnis existiert???
Zuletzt geändert von Michl am Fr 26. Mär 2021, 21:06, insgesamt 1-mal geändert.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Soner
Beiträge: 623
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Konsolenanwendung, kein Fenster mehr beim Debuggen

Beitrag von Soner »

Ich habe mit Lazarus 2.0.111, fpc 3.2.1, Windows 10 und Lazarus svn von heute, fpc 3.2.1, Windows 10, alle 64 bit gestestet es tut, was es tun soll. Debugger ist gdb-64bit.
Beim Svn-Version wird das Programm im Debug-modus erst minimiert, man muss in der Taskleiste drauf klicken dann wird es wieder normalisiert.

Kontrolliere ob du 64 Bit debugger hast. Bei mir ist das Programm mit Lazarus-SVN gleich abgesstürzt, weil ich dort noch 32bittigen GDB hatte.
Was passiert wenn du {$R *.res} entfernst, vielleicht macht es Probleme.

Ich habe test Programme aus der Auswahl "Einfaches Programm" erstellt.

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Konsolenanwendung, kein Fenster mehr beim Debuggen

Beitrag von Michl »

Soner hat geschrieben:
Fr 26. Mär 2021, 21:06
Beim Svn-Version wird das Programm im Debug-modus erst minimiert, man muss in der Taskleiste drauf klicken dann wird es wieder normalisiert.
Auch das sollte nicht sein. Das Problem habe ich hier nicht. Kannst du die ursächliche Revision heraussuchen?

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Soner
Beiträge: 623
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Konsolenanwendung, kein Fenster mehr beim Debuggen

Beitrag von Soner »

Michl hat geschrieben:
Fr 26. Mär 2021, 21:10
Soner hat geschrieben:
Fr 26. Mär 2021, 21:06
Beim Svn-Version wird das Programm im Debug-modus erst minimiert, man muss in der Taskleiste drauf klicken dann wird es wieder normalisiert.
Auch das sollte nicht sein. Das Problem habe ich hier nicht. Kannst du die ursächliche Revision heraussuchen?
Revision 64871, vor einigen Minuten aktualisert.

Oh sorry, das Konsolen-Fenster verschwand hinter vielen Fenstern, dann habe ich intiutiv den Knopf in der Taskleiste gedrückt, ich habe jetzt öfters gestartet es bleibt sichtbar. Ich hatte vergessen dass Windows Konsolenposition automatisch bestimmt.

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Konsolenanwendung, kein Fenster mehr beim Debuggen

Beitrag von Michl »

Ok, dann ist gut.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

martin_frb
Beiträge: 572
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: Konsolenanwendung, kein Fenster mehr beim Debuggen

Beitrag von martin_frb »

Noch etwas:

1) Wenn man sein eigenes Project Optionen Template speichert, kann es sein dass es für alle Projekt Typen gilt. Dann ist "GUI Anwendung" bei allen Typen gesetzt.
Aber wenn man es explizit abschaltet sollte es gut sein.

2) "GUI Anwendung" -WG kann natürlich auch irgendwo anders in die Settings gelangen (fpc.cfg / "Additions and overrides" / ...)
Probier halt mal -WC
oder {$apptype console} (ggf noch mal googeln...)

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1496
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Konsolenanwendung, kein Fenster mehr beim Debuggen

Beitrag von corpsman »

So ich habe noch mal getestet:

- hab ein Update auf SVN Revision 64888 gemacht.
- @Martin, ich weis gar nicht wie man ein Optionen Template anlegt -> wenn dann hat lazarus das gemacht
- Ob {$R *.res} drin ist oder nicht macht keinen Unterschied (die res wird aber korrekt von der IDE angelegt)
- {$apptype console} in das Programm einfügen ändert nichts
- Ein Minimiertes Fenster kann es nicht sein, denn wenn ich die Anwendung starte dann taucht kein weiteres Feld in der Taskleiste auf -> ich kann auch nichts "maximieren"
- Geteste habe ich nun mit "Einfaches Programm", "Programm" und "Konsolenanwendung"
=> bei allen 3 das selbe, das -wg ist defautl mäßg gesetzt, nach dem deaktivieren startet die Anwendung ohne Eintrag in der Taskleiste

- Beim Debugger war ich etwas überrascht, da nimmt der Rechner wohl den aus cygwin, das ist dann der
GNU gdb (GDB) (Cygwin 8.2.1-1) 8.2.1
Ich kann nicht direkt sehen ob das 32 oder 64 bit ist, aber nachdem ich damit problemlos meine 64-Bit Fenster Applicationen debuggen kann, denke ich wird das schon passen ...

Hab auch mal ein Programm versucht bei dem es definitiv mal ging.
=> ich vermute mehr dass es an der Lazarus installation liegt
Ich hatte ursprünglich mal eine ganz normale 64-Bit Version installiert. Dann habe ich diese "gelöscht" bis auf das FPC verzeichnis und an die selbe stelle die SVN-Version "kopiert" und dann mittels

Code: Alles auswählen

 Make lazbuild 
 lazbuild --build-ide= --build-mode=
 
wieder erzeugt.

Ich probiere nun mal eine "Standard" installation, evtl geht es dann wieder ..
--
Just try it

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1496
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Konsolenanwendung, kein Fenster mehr beim Debuggen

Beitrag von corpsman »

Also, das löschen des Lazarus konfigurationsverzeichnisses hat gereicht. da hat es wohl irgendwas verspult gehabt.

damit geht es nun auch mit meiner "komischen" version. Muss gestehen nachdem ich nicht genau weis worin ich in den Settings suchen muss, würde ich es so auf sich belassen.

Oder weis jemand wo man da nachsehen muss, noch habe ich die alte Konfiguration..
--
Just try it

martin_frb
Beiträge: 572
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: Konsolenanwendung, kein Fenster mehr beim Debuggen

Beitrag von martin_frb »

Andere Frage: Deine IDE, ist die mit -WC compiliert?
Also hat deine IDE ein Konsole Fenster?

Weil wenn ja, dann kann es sein das dein Program das IDE Konsole Fenster mitbenutzt....

-----------------
Läuft dein Program überhaupt? (Task Manager)

----------------
Log info? https://wiki.lazarus.freepascal.org/GDB ... ug_session
"Debug Output" reicht.



--------------EDIT
Oh, es hat sich erledigt.....

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1496
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Konsolenanwendung, kein Fenster mehr beim Debuggen

Beitrag von corpsman »

Wo kann ich den einsehen wie meine IDE Compiliert ist ?

Und ich habe nichts weiter gemacht als die Konfigurationsdateien zu Löschen um den "Fehler" zu bereinigen. Die IDE wurde dabei nicht neu Compiliert ...
--
Just try it

martin_frb
Beiträge: 572
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: Konsolenanwendung, kein Fenster mehr beim Debuggen

Beitrag von martin_frb »

Wenn die IDE ein Konsole Fenster hätte, wüstest Du das. Weil das ja dann immer offen ist, wenn die IDE läuft.

Tools => Configure Build IDE
hat die Optionen mit denen die IDE gebaut wird.
Es sei dem du benutzt "make".

------------
Welche Konfig-Option es gewesen sein könnte, weiß ich leider auch nicht...

Antworten