2017-07-07 4 views
0

Ich arbeite an einem .Net Projekt und es funktioniert einfach gut, jedoch habe ich festgestellt, dass wenn ich das Programm während des Debuggens anhalten, einige andere Dateien, die nicht mit dem Projekt verbunden sind, nicht öffnen können. Beispiele für diese Dateien sind die, die in MS Access, MS Internet Explorer ... geöffnet werden.Warum unterbricht mein Projekt beim Debuggen andere Programme?

Sobald ich auf die Schaltfläche Ausführen klicke, werden die Dateien sofort geöffnet.

Gibt es einen Vorschlag, warum diese Datei einfriert?

Das folgende Bild zeigt dieses Problem (Die Dateien im roten Quadrat öffnen nicht, während der Debugger angehalten wird, sie öffnen sich, sobald das Programm ausgeführt wird).

enter image description here

Antwort

2

Die hier Täter sind fast sicher, dass etwas im Prozess um die Dateien zu öffnen DDE verwendet. Das Problem mit DDE ist, dass es mit Broadcast-Nachrichten funktioniert. Diese Nachrichten müssen von jedem Fenster der obersten Ebene auf dem Desktop verarbeitet werden. Und wenn eine der Nachrichtenschleife des Top-Level-Fensters derzeit keine Nachrichten verarbeitet, sondern stattdessen im Debugger angehalten wird, bricht DDE-Art zusammen.

DDE war in Ordnung für den Tag - bevor präemptives Multitasking zu Windows hinzugefügt wurde. Was vor langer Zeit war, aber leider benutzen einige Programme es immer noch.

Verwandte Themen