Die Anwendung startet nicht im Debugger

8

Die Anwendung, die ich arbeite, startet nicht im Debugger von Visual Studio 2005.

Folgendes mache ich:

  • Ich habe die Anwendung neu erstellt und F5 gedrückt, um es zu starten
  • Der Titel des VS2005-Fensters sagt "projectname (Running) ..."
  • Die Debugger-Schaltflächen werden angezeigt, sind jedoch ausgegraut
  • Die Anwendung wird im Windows-Task-Manager angezeigt, hat jedoch nur 80k Speicherbelegung
  • Nichts passiert für eine lange Zeit, und schließlich bekomme ich ein Fenster mit der folgenden Fehlermeldung: "Das Debuggen wird gestoppt, ist aber noch nicht abgeschlossen. Sie können das Debuggen erzwingen, sofort zu stoppen, aber jeder Prozess wird entfernt Dieses Fenster wird automatisch geschlossen, wenn das Debugging vollständig beendet wurde. " Das Fenster verschwindet nicht, also drücke ich nach einer Weile auf die Schaltfläche "Stop now".
  • Nichts passiert für eine Weile (die Debugger-Schaltflächen sind immer noch sichtbar, aber grau)
  • Einige Zeit später erscheint ein neues Fenster: "Programm kann nicht gestartet werden (Pfad zu exe)". OLE har skickat en begâran och väntar på svar ". Der letzte Satz ist schwedisch für "OLE hat eine Anfrage gesendet und wartet auf Antwort". Ich drücke OK und die Debugger-Tasten sind weg.
  • Die Anwendung wird noch ausgeführt und hat immer noch nur 80k Arbeitsspeicher.
  • Ich versuche den Vorgang mit dem Task-Manager zu beenden, aber er wird nicht beendet.
  • Ich habe Visual Studio beendet und der Prozess ist endlich vorbei.

Die Anwendung ist ein nicht verwaltetes C ++ - Projekt, das viele DLL-Dateien als Plugins verwendet. Ich verwende die "multi-threaded debug" -Laufzeit, und ich habe sichergestellt, dass alle Abhängigkeiten gegen die gleiche Laufzeit kompiliert werden.

Es war währenddessen, dass dieses Problem plötzlich auftauchte. Ich habe versucht, meine Änderungen rückgängig zu machen, aber es hilft nicht. Neustart des Computers hilft auch nicht.

Ich habe die Anwendung ein- oder zweimal zufällig gestartet. Wenn ich die Anwendung dann beendet und neu gestartet habe, wurde sie nicht gestartet. Also ich denke nicht, dass dies wegen meiner Konfiguration ist.

Irgendwelche Ideen?

Noch eine Anmerkung: Die Anwendung startet und läuft so, wie sie sollte, wenn ich sie von außerhalb von Visual Studio starte.

    
Jonatan 23.01.2010, 12:37
quelle

2 Antworten

1

Ok, ich habe mein Problem gelöst, aber ich habe keine Ahnung wie.

Eine Sache, die ich ausprobiert habe, war, alle Build-Dateien und EXE- und DLL-Dateien zu löschen und dann alles neu zu kompilieren. Aber das hat nicht geholfen.

Ich habe dann eine Sache zufällig versucht: Die Plugins waren in der gleichen Lösung. Also entfernte ich sie und versuchte erneut zu rennen. Und dieses Mal hat es geklappt! Also habe ich alle Plugin-Projekte hinzugefügt, und es funktioniert immer noch!

Also, ich denke, ich werde nie wissen, was passiert ist. Aber das Entfernen und Hinzufügen eines Projekts zu einer Lösung könnte auch ein anderes Problem lösen ...:)

    
Jonatan 24.01.2010, 22:40
quelle
2

Klingt wie ein fehlerhaftes DllMain () in einer der implizit verknüpften DLLs, die von Ihrem Programm verwendet werden. Möglicherweise erhalten Sie einen Hinweis aus dem Ausgabefenster, es listet die Namen der DLLs auf, wenn sie geladen werden. Wenn es wininet.dll ist, dann sind Sie mit dem Symbolserver in eine Deadlock-Falle geraten.

    
Hans Passant 23.01.2010 12:49
quelle