O que são versões "Debug / Checked" de um sistema operacional Windows?

21

Enquanto procurava um download do Windows XP no portal de assinantes do MSDN, notei o seguinte:

insira a descrição da imagem aqui

Então, qual é a versão Debug / Checked?

Der Hochstapler
fonte

Respostas:

31

A versão de depuração / marcada é usada para depurar drivers de dispositivo. Ele contém verificações em tempo de execução para condições de erro e otimizações em tempo de execução removidas.

David Schwartz
fonte
14
Caso isso não seja claro o suficiente: isso significa que as versões depuradas / verificadas serão mais lentas que as projetadas para uso do consumidor.
Hengjie
2

Em particular, interpretar as explicações , usar uma versão Debug / Checked provavelmente só ajudará se você estiver escrevendo componentes no modo kernel (drivers mais prováveis) ou se estiver confiando em alguns componentes no modo kernel de terceiros que você acredita pode ser um buggy nas condições em que você os coloca.

Ou seja: a grande maioria dos desenvolvedores (ou seja, aqueles que desenvolvem software de aplicativo - software com o qual os usuários interagem, independentemente de ser "gerenciado" ou "não gerenciado", por linha de comando ou por GUI; em resumo, código do espaço do usuário ) não precisa disso e não deve usá-lo, porque é mais lento que as versões convencionais do Windows.

Portanto, se você não tem certeza se precisa ou não, quase certamente deve evitá-lo. Por outro lado, se seu trabalho se beneficiar dele, você já estará bem ciente disso (por exemplo, onde quer que você tenha aprendido como desenvolver o modo de kernel).

Evgeni Sergeev
fonte
A velocidade é totalmente irrelevante durante a maioria dos testes. A razão pela qual a maioria dos desenvolvedores de aplicativos não usa compilações verificadas é que nenhum dos seus códigos será iniciado devido a todas as afirmações. Se todos os desenvolvedores tivessem que produzir código de trabalho em versões verificadas, estaríamos muito melhor.
EKW
@EKW Speed is utterly irrelevant...Não é verdade. Muitos bugs complicados só aparecem quando as coisas começam a funcionar rápido o suficiente para criar as condições para eles. Erros de encadeamento especialmente sutis, retornos de chamada assíncronos, etc. Às vezes, você pode visualizá-lo visualmente ao executar algum aplicativo antigo de 16 bits, por exemplo, repintar cintilantes muito irritantes.
Evgeni Sergeev
Daí "a maioria dos casos". Eventualmente, você precisa verificar se há uma compilação gratuita ou de varejo do SO. Os aplicativos geralmente falham ao fazer chamadas corretas para funções do SO ou manipulam exceções adequadamente com mais frequência do que os problemas de concorrência.
EKW
Sim, talvez aplicações na lua.
Evgeni Sergeev