Que sont les versions «Debug / Checked» d'un système d'exploitation Windows?

21

En recherchant un téléchargement Windows XP sur le portail des abonnés MSDN, j'ai remarqué ceci:

entrez la description de l'image ici

Alors, quelle est la version Debug / Checked?

Der Hochstapler
la source

Réponses:

31

La version de débogage / vérifiée est utilisée pour déboguer les pilotes de périphérique. Il contient des vérifications d'exécution des conditions d'erreur et les optimisations d'exécution ont été supprimées.

David Schwartz
la source
14
Dans le cas où ce n'est pas assez clair: cela signifie que les versions de débogage / vérifiées s'exécuteront plus lentement que celles conçues pour un usage grand public.
Hengjie
2

En particulier, interpréter les explications , utiliser une version Debug / Checked ne vous aidera probablement que si vous écrivez des composants en mode noyau (les pilotes les plus probables), ou si vous comptez sur des composants tiers en mode noyau que vous croyez peut être bogué dans les conditions où vous les placez.

C'est-à-dire: la grande majorité des développeurs (c'est-à-dire ceux qui développent des logiciels d'application - des logiciels avec lesquels les utilisateurs interagissent, qu'ils soient "gérés" ou "non gérés", en ligne de commande ou basés sur une interface graphique; en bref, un code d'espace utilisateur ) n'en a pas du tout besoin et ne devrait pas l'utiliser, car il est plus lent que les versions traditionnelles de Windows.

Donc, si vous ne savez pas si vous en avez besoin, vous devriez certainement l'éviter. Inversement, si votre travail en bénéficierait, alors vous en seriez déjà bien conscient (par exemple, d'où que vous ayez appris à vous familiariser avec le développement en mode noyau).

Evgeni Sergeev
la source
La vitesse n'est absolument pas pertinente pendant la plupart des tests. La raison pour laquelle la plupart des développeurs d'applications n'utilisent pas les versions vérifiées est qu'aucun de leur code ne sera même lancé en raison de toutes les assertions. Si tous les développeurs devaient produire du code de travail sur les versions vérifiées, nous serions beaucoup mieux.
EKW
@EKW Speed is utterly irrelevant...Pas vrai. Beaucoup de bugs délicats ne surviennent que lorsque les choses commencent à fonctionner assez rapidement pour créer les conditions pour eux. Erreurs de filetage particulièrement subtiles, rappels asynchrones, etc. Parfois, vous pouvez même le voir visuellement lorsque vous exécutez une ancienne application 16 bits, par exemple une peinture très scintillante très ennuyeuse.
Evgeni Sergeev
D'où «la plupart des cas». Finalement, vous devez vérifier par rapport à une version gratuite ou commerciale du système d'exploitation. Cependant, les applications ne parviennent généralement pas à appeler correctement les fonctions du système d'exploitation ou à gérer correctement les exceptions plus souvent qu'elles n'ont de problèmes de concurrence.
EKW
Ouais, peut-être des applications sur la lune.
Evgeni Sergeev