[Anfänger] Programm beendet sofort nach dem Debuggen



  • Hallo, hab mal wieder eine kleine Frage,
    ich schaff es bei Visual Studio 2010 einfach nicht, das Programm richtig auszuführen. Das Fenster nach dem Debug schließt sich sofort wieder und ich sehe das Ergebnis nicht.

    #include <stdio.h>
    #include <conio.h>
    #include <windows.h>
    #include <stdlib.h>
    
    void main(void)
    {
    	printf("Hallo Welt\n");
    	getch();
    	system("PAUSE");
    }
    

    Wenn ich es mit dem DOs Tool von VS mache, dann funktioniert es aber. Ich weiß somit nicht woran es liegt, dass das Fenster sofort wieder geschlossen wird.
    Hab es schon gegoogelt und die ganzen Vorschläge die ich gefunden hab mit eingebaut. Also das mit dem getch und system("PAUSE")

    Ich habs mal abgefilmt, vielleicht erkennt man dann besser was ich meine:
    http://www.youtube.com/watch?v=Pb28VwDR8G0

    Was komisch ist, ist, dass wenn ich das gleiche Programm mit DEV-C Ausführe, dann bleibt das Fenster (in dem Hallo Welt steht) offen, bis ich eine Taste drücke. 😕

    An was kann das liegen?



  • Für mich unerklärliches Problem sollte nicht passieren. VS neu installieren?



  • Ich habs extra noch zusätzlich in einem virtuellen System (XP) installiert und probiert. Da ists genau das gleiche.



  • chgTUM schrieb:

    Ich habs extra noch zusätzlich in einem virtuellen System (XP) installiert und probiert. Da ists genau das gleiche.

    Bei mir nicht!



  • HighLigerBiMBam schrieb:

    Bei mir nicht!

    Na ja, das bringt mich mit meinem Problem jetzt auch nicht unbedingt voran



  • Benutze Standardfunktionen z.B.

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        printf("Hallo Welt\n");
        return 0;
    }
    

    und benutze in VS Strg+F5 zum Ausgabetest von Konsolenprogrammen.



  • mit strg + f5 bleibt das fenster zwar da, aber es kommt keine Ausgabe des Textes ???
    siehe:
    http://img842.imageshack.us/img842/8919/hilftnix.jpg



  • #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        printf("Hallo Welt\n");
        getchar();
        return 0;
    }
    

    Versuchs mit getchar(); .

    Gruss Jemand



  • chgTUM schrieb:

    mit strg + f5 bleibt das fenster zwar da, aber es kommt keine Ausgabe des Textes ???

    Setze hinter printf mal fflush(stdout);



  • Auch wenn es geht ist es doch wohl nur ein Workaround und der eigentliche Grund nicht gefunden... Welches OS benutzt du?



  • es helfen beide sachen nix, weder das getchar noch das fflush.
    Ich hab win 7 64bit, habs grad neu installiert. Hat aber auch nix geholfen. Ich lad mir grad VS Version 98 pro ruter. Da stand extra dabei für 32 und 64 bit systeme. Evtl hilft das ja



  • Dein Virtuelles System war doch eine 32-Bit Umgebung oder? Denn hätte es da doch fuktionieren müssen wenns an deinen 64-Bit liegt.
    Wie erstellst du eigentlich ein neues Projekt? So:?
    Visual C++ -> Allgemein -> Leeres Projekt
    Oder anders?



  • Ja, das virtuelle war 32bit, hat aber nichts am Fehler verändert

    hab schon mehrere sachen probiert
    zum einen so wie du es gesagt hast, aber auch VisualC#->Windows->Konsolenanwendung
    und VisualC#->Windows->leeres Projekt und auch VisualC++ ->Win32 Konsolenanwendung

    es passiert aber immer das gleiche. Also erscheint kurz und dann ists wieder weg

    Edit: Hab jetzt auch Visual Studio 2008 drauf. Selber Fehler wie beim 2010er. Ich weiß echt nicht warum und was ich dagegen machen kann 😡



  • Da du ja wohl ziemlich heftig zwischen C++ und C# wechselst, glaube ich, dass es bei deiner Bedienung von VS liegt. Ich habe noch von keinem VS Benutzer gehört, dass "hello world!" mit Strg+F5 NICHT funktioniert.
    Evtl. können dir die Leute in "MFC (Visual C++)" helfen.



  • des fenster des du in deinem video aus dem hintergrund holst ist doch die ausgabe, oder?

    Wenn du haltepunkte gesetzt hast(oder evtl auch ohne), wird die ausgabe gleich wieder in den hintergrund gesetzt(also das konsolenfenster). bzw Visual Studio wieder in den vordergrund.. (ich schätzte damit man die jeweiligen werte im debugger sehen kann)

    EDIT: meinen beitrag ignorieren... Hab nicht gesehn, dass du das programm extra aufgerufen hast über cmd..


Anmelden zum Antworten