Fehlermeldung unter Windows 8.1



  • Hallo, seitdem ich von Win 7 64Bit auf Win 8.1 64Bit gewechselt bin kann ich eines meiner selbstgeschriebenen Programme nicht mehr starten. Folgende Fehlermeldung wird angezeigt:

    Die Anwendung konnte nicht korrekt gestartet werden (0xc000007b). Klicken Sie auf "OK", um die Anwendung zu schließen
    

    Ich benutzte Visual Studio 2005 und das Programm wird als Win32 Debug, Win32 Release, x64 Debug und x64 Release erzeugt. Nur die Version x64 Release bringt diese Fehlermeldung und verweigert den Start. Ich habe auch schon versucht direkt nach diesem Aufruf:

    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int iCmdShow){
    

    eine Messagebox zu erzeugen, da Debug ja funktioniert und somit dort keine Fehlersuche mit diesem Hilfsmittel möglich ist. Aber noch bevor die Messagebox erscheint kommt die Fehlermeldung, also noch bevor auch nur eine Zeile meines Codes ausgeführt wird. Wer kann helfen?


  • Mod

    Führe den Fehler herbei und attachte Dich mit dem Debugger an den Prozess.

    Du kannst auch die Release Version debuggen.

    Vermutung: Zu 99% hast Du variable nicht initialisiert...



  • Martin Richter schrieb:

    Vermutung: Zu 99% hast Du variable nicht initialisiert...

    Also ich sage mal, dass ich das auschliessen kann, weil wie bereits oben geschrieben, ist der allererste Aufruf im Programm überhaupt wie folgt:

    MessageBox(NULL, "Info\0", "Info\0", MB_OK | MB_ICONINFORMATION)
    

    Wenn es nun nach der Messagebox crashen würde, ok, aber die Messagebox erscheit erst gar nicht. Also wird auch keine weitere Codezeile ausgeführt, oder?



  • GELÖST: Meine Manifest Datei war fehlerhaft.


  • Mod

    Oxigen schrieb:

    Also ich sage mal, dass ich das auschliessen kann, weil wie bereits oben geschrieben, ist der allererste Aufruf im Programm überhaupt wie folgt:

    MessageBox(NULL, "Info\0", "Info\0", MB_OK | MB_ICONINFORMATION)
    

    Wenn es nun nach der Messagebox crashen würde, ok, aber die Messagebox erscheit erst gar nicht. Also wird auch keine weitere Codezeile ausgeführt, oder?

    Nur mal als Nachtrag!
    Du kannst damit nichts ausschließen. Wenn Du statische oder globale Variablen hast, die einen Construktor haben, dann wird dieser Code vor Deiner Messagebox ausgeführt.

    Das gleiche ist es mit alen DLLs die Du implizit verwendest.
    Solch eine MessageBox kannst Du einfach mal vergessen...

    Just my 2 cents!


Anmelden zum Antworten