¿Qué son las versiones "Debug / Checked" de un sistema operativo Windows?

21

Mientras buscaba una descarga de Windows XP en el portal de suscriptores de MSDN, noté esto:

ingrese la descripción de la imagen aquí

Entonces, ¿cuál es la versión Debug / Checked?

Der Hochstapler
fuente

Respuestas:

31

La versión de depuración / comprobada se utiliza para depurar controladores de dispositivo. Contiene comprobaciones de tiempo de ejecución para condiciones de error y ha eliminado las optimizaciones de tiempo de ejecución.

David Schwartz
fuente
14
En caso de que no sea lo suficientemente claro: esto significa que las versiones de depuración / verificación se ejecutarán más lentamente que las diseñadas para uso del consumidor.
Hengjie
2

En particular, interpretando las explicaciones , el uso de una versión Debug / Checked solo puede ayudarte si estás escribiendo componentes en modo kernel (controladores más probables), o si estás confiando en algunos componentes en modo kernel de terceros que crees puede tener errores en las condiciones en que los colocas.

Es decir: la gran mayoría de los desarrolladores (es decir, aquellos que desarrollan software de aplicación, software con el que los usuarios interactúan, independientemente de si es "administrado" o "no administrado", línea de comandos o basado en GUI; en resumen, código de espacio de usuario ) no lo necesita en absoluto, y no debería usarlo, porque es más lento que las versiones principales de Windows.

Entonces, si no está seguro de si lo necesita, seguramente debería evitarlo. Por el contrario, si su trabajo se beneficiaría de él, entonces ya lo sabría (por ejemplo, de donde sea que haya aprendido cómo desarrollar el modo kernel).

Evgeni Sergeev
fuente
La velocidad es completamente irrelevante durante la mayoría de las pruebas. La razón por la que la mayoría de los desarrolladores de aplicaciones no usan compilaciones comprobadas es que ninguno de sus códigos se lanzará debido a todas las afirmaciones. Si todos los desarrolladores tuvieran que producir código de trabajo en compilaciones comprobadas, estaríamos mucho mejor.
EKW
@EKW Speed is utterly irrelevant...No es cierto. Muchos errores difíciles solo surgen cuando las cosas comienzan a funcionar lo suficientemente rápido como para crear las condiciones para ellos. Errores de subprocesos especialmente sutiles, devoluciones de llamada asíncronas, etc. A veces incluso puede verlo visualmente cuando ejecuta alguna aplicación antigua de 16 bits, por ejemplo, repintado parpadeante muy molesto.
Evgeni Sergeev
De ahí "la mayoría de los casos". Finalmente, debe verificar con una compilación gratuita o minorista del sistema operativo. Sin embargo, las aplicaciones generalmente no hacen las llamadas correctas a las funciones del sistema operativo o manejan las excepciones correctamente con más frecuencia de lo que tienen problemas de concurrencia.
EKW
Sí, tal vez aplicaciones en la luna.
Evgeni Sergeev