Was sind "Debug / Checked" -Versionen eines Windows-Betriebssystems?

21

Bei der Suche nach einem Windows XP-Download im MSDN-Abonnentenportal ist mir Folgendes aufgefallen:

Bildbeschreibung hier eingeben

Also, was ist die Debug / Checked-Version?

Der Hochstapler
quelle

Antworten:

31

Die debug / checked-Version wird zum Debuggen von Gerätetreibern verwendet. Es enthält Laufzeitprüfungen auf Fehlerzustände und Laufzeitoptimierungen wurden entfernt.

David Schwartz
quelle
14
Falls es nicht klar genug ist: Dies bedeutet, dass die debug- / überprüften Versionen langsamer laufen als diejenigen, die für die Verwendung durch Verbraucher entwickelt wurden.
Hengjie
2

Insbesondere die Interpretation der Erläuterungen mit einer Debug- / Überprüften Version hilft Ihnen wahrscheinlich nur dann, wenn Sie Kernel-Modus-Komponenten (wahrscheinlich Treiber) schreiben oder wenn Sie sich auf Kernel-Modus-Komponenten von Drittanbietern verlassen, die Sie für hilfreich halten ist unter den Bedingungen, in denen Sie sie ablegen, möglicherweise fehlerhaft.

Das heißt: Die überwiegende Mehrheit der Entwickler (dh diejenigen, die Anwendungssoftware entwickeln - Software, mit der Benutzer interagieren, unabhängig davon, ob sie "verwaltet" oder "nicht verwaltet", befehlszeilen- oder GUI-basiert ist - kurz gesagt, Code für den Benutzerbereich ) brauche das überhaupt nicht und sollte es nicht benutzen, weil es langsamer ist als die Mainstream-Versionen von Windows.

Wenn Sie also nicht sicher sind, ob Sie es brauchen, sollten Sie es mit ziemlicher Sicherheit vermeiden. Umgekehrt, wenn Ihre Arbeit davon profitieren würde, wären Sie sich dessen bereits bewusst (z. B. von überall, wo Sie gelernt haben, wie man Kernel-Mode-Entwicklungen durchführt).

Evgeni Sergeev
quelle
Bei den meisten Tests spielt die Geschwindigkeit keine Rolle. Der Grund, warum die meisten Anwendungsentwickler keine geprüften Builds verwenden, ist, dass aufgrund aller Asserts keiner ihrer Codes gestartet wird. Wenn alle Entwickler funktionierenden Code für überprüfte Builds erstellen müssten, wären wir viel besser dran.
EKW
@EKW Stimmt Speed is utterly irrelevant...nicht. Viele knifflige Fehler treten nur auf, wenn die Dinge schnell genug funktionieren, um die Bedingungen für sie zu schaffen. Besonders subtile Threading-Fehler, asynchrone Rückrufe usw. Manchmal können Sie es sogar visuell sehen, wenn Sie eine alte 16-Bit-Anwendung ausführen, z.
Evgeni Sergeev
Daher "die meisten Fälle". Schließlich müssen Sie sich gegen einen kostenlosen oder im Einzelhandel erhältlichen Build des Betriebssystems verifizieren. Anwendungen können im Allgemeinen keine korrekten Aufrufe von Betriebssystemfunktionen ausführen oder Ausnahmen häufiger ordnungsgemäß verarbeiten, als sie Probleme mit der Parallelität haben.
EKW
Ja, vielleicht Anwendungen auf dem Mond.
Evgeni Sergeev