Frage Warum bittet Windows 7 mich, das Programm zu debuggen?


Ich habe Linux auf Virtualbox installiert, als Virtualbox erstarrte. Ein Popup-Fenster fragte mich, ob ich Virtualbox debuggen wollte.

Warum sollte Windows 7 mich als Frontend-Benutzer fragen, wenn ich ein Programm debuggen möchte? Sind das Abstraktionsbarrieren? Was wird Windows 7 auf jeden Fall tun, wenn ich auf "Debug" klicke?


4
2018-01-28 16:56


Ursprung


Kannst du einen Screenshot hochladen? Und ich glaube nicht, dass Windows gefragt hat Sie um es zu debuggen. Es brauchte einige manuelle Maßnahmen von Ihrer Seite, um den Debug-Vorgang durchzuführen. - Bibhas
Fragen Sie nicht, was es tun wird ... Probieren Sie es aus! - Tom Wijsman
Danke, ich kann den Fehler nicht reproduzieren, aber das Popup hat bemerkt, dass "Virtualbox nicht mehr funktioniert. [Debug] [Anwendung schließen]". - David Faux
Außerdem habe ich versucht, auf Debug zu klicken, und das Virtualbox-Fenster hat gerade für fünf Minuten gehängt. Danach öffnete Visual Studio 2010 und bemerkte einen Nullzeigerfehler. Wie hilft mir das als Endbenutzer? Außergewöhnlich. - David Faux


Antworten:


Ihr System ist höchstwahrscheinlich eingerichtet Postmortem-Debugging.

Ich bin mir nicht ganz sicher, was Windows dazu veranlasst, einen fehlerhaften Prozess zu debuggen. Ein ... haben Debugger installiert könnte sicherlich Teil der Entscheidung sein. Vielleicht kann ein Prozess sogar dazu führen, dass die Debug-Option angezeigt wird, nachdem sie fehlgeschlagen ist.

Normalerweise wäre die Option nur für Entwickler gedacht.

Möglicherweise zusammenhängende Lektüre:
https://stackoverflow.com/questions/396369/how-do-i-disable-the-debug-close-application-dialog-on-windows-vista


10
2018-01-28 17:22



Danke, das Popup in dieser Stackoverflow-Frage ist genau das, was schief gelaufen ist. Ich habe einen Debugger installiert, seit Visual Studio 2010 installiert ist. - David Faux
@Oliver, ja, genau so funktioniert es. Wenn ein Absturz auftritt, verwendet Windows den Debugger, der in der Liste angegeben ist AeDebug Registrierungsschlüssel. Standardmäßig ist dies auf Dr. Watson eingestellt, der lediglich einen Absturzabbild erstellt und protokolliert. Wenn Sie jedoch einen anderen Debugger installiert haben (die meisten Programmierumgebungen werden aus offensichtlichen Gründen installiert), wird stattdessen dieser verwendet. In diesem Fall, wenn ein Programm abstürzt und Windows sieht, dass Sie einen Debugger installiert haben, werden Sie aufgefordert, den Absturz zu behandeln, da er nicht weiß, ob es Ihr eigenes Programm ist, das Sie testen, das abgestürzt ist oder ein Programm eines Drittanbieters. - Synetech


Wenn Sie das JIT-Debugging in Visual Studio oder einem anderen Debugger aktiviert haben, erhalten Sie die Möglichkeit, einen Debugger an einen abstürzenden Prozess anzuhängen, um nach dem Tod Fehler zu beheben. Wenn Sie kein JIT-Debuggen möchten, können Sie es deaktivieren, und dann müssen Sie einen Debugger manuell an einen Prozess anfügen, den Sie debuggen möchten, bevor er abstürzt.


3
2018-01-29 02:33