Frage zu VisualC++



  • Hi,

    ich habe mal eine Frage zu VisualC++ 6.0:

    Gibt es einen Unterschied zwischen dem Ausführen einer ferig und fehlerlosen gelinkten exe.-Datei über die Menüleiste Erstellen->Ausführen der exe.-Datei und dem "selbständigen" Ausführen der exe.-Datei per Mausklick auf die exe.-Datei im Ordner Debug? Wenn ja, welchen?



  • Das einzige was mir einfällt:
    Wenn Du von VC startest, erbt der prozeß alle vererbbaren Handles vom DevStudio, ansonsten die vom IE.

    Wieso fragst Du?



  • IIRC:

    Beim Ausführen aus dem Menü ist das aktuelle Verzeichnis der Projektordner, ansonsten (logisch) der Ordner, in dem die Exe steht. Könnte bei relativen Pfaden relevant werden.

    Aber auch von mir die Frage: Warum fragst du?



  • MFK schrieb:

    IIRC:

    Aber auch von mir die Frage: Warum fragst du?

    Ich frage, weil ich meine exe.-Datei zwar über die Menüleiste Erstellen->Ausführen ausführen kann, allerdings nicht per Mausklick auf die exe.-Datei, die sich im Ordner Debug unter dem Projektordner befindet.
    Woran liegt das?

    Gruß |



  • Was heißt "nicht ausführen kann"?

    was noch anders sein kann (aber selten ist): Umgebungsvariablen werden vom aufrufenden prozeß geerbt



  • debug exe kann man auch fast nie per mausklick aufrufen, nur release.

    hast du das studio wohl drauf? laufzeitumgebung etc.

    auf ner normalen plattform kann man nur release aufrufen



  • miss c++ schrieb:

    debug exe kann man auch fast nie per mausklick aufrufen, nur release.

    hast du das studio wohl drauf? laufzeitumgebung etc.

    auf ner normalen plattform kann man nur release aufrufen

    Bei mir ging das sonst aber eigentlich immer. Wenn ich jetzt meine exe.-Datei per Mausklick ausführen will, wird in dem Konsolenfenster ein Speicherüberschreibungsfehler angegeben. Das komische ist ja nur, dass ich meine exe.-Datei über das VC++ Menü ausführen kann, anders aber nicht.

    Gruß |



  • Auf dem Rechner, auf dem Du entwickelst, get es schon.
    Ich vermute, daß der Fehler in deinem Programm drinsteck, aber nicht auftritt.
    Durch die verschiedenen Parent-Prozesse ist auch der Adreßraum etwas anders,
    so daß der Fehler u.U. "unbemerkt" auftritt.

    Starte das Programm mal unter dem Debugger und schau Dir am Ende die Trace-Ausschriften bzgl. Speicherlecks und -damages an


Anmelden zum Antworten