Propaganda
As bibliotecas compartilhadas no Windows tornam a programação muito mais eficiente para o programador que não precisa reinventar a roda toda vez que precisa executar uma tarefa comum. Eles também facilitam a correção de falhas de segurança no código compartilhado quando são encontrados, pois ele precisa ser corrigido em menos locais e não exige que todos os aplicativos sejam recompilados.
Apesar desses aspectos positivos, eles podem apresentar seus próprios problemas ao tentar solucionar a causa raiz das mensagens de erro que eles podem gerar.
Pergunta do nosso leitor:
Como corrigir um problema de C: \ Windows \ explorer.exe do Windows Vista em um Dell Inspiron 530?
Depois de clicar no botão OK na caixa de diálogo mostrada na captura de tela, a tela escurece e volta ao normal em execução, mas não me permitirá acessar a unidade C, D e, às vezes, a unidade E ao tentar acessá-las no My Computador.
Corrida sfc / scannow não encontra nenhum erro. Eu baixei atualizações dos sites da Dell e da Microsoft tentando corrigir esse problema. Também instalei o pacote redistribuível do Microsoft Visual C ++ 2010 (x86). O PC está completamente atualizado de acordo com o Windows Update.
Resposta de Bruce:
Nota: As discussões sobre o Windows Explorer no Windows 7 e versões anteriores também se aplicam ao File Explorer no Windows 8 e versões posteriores. Se houver uma diferença notável entre eles, será explicitamente declarado.
O Shell do Windows
explorador de janelas é o shell e é executado como o processo explorer.exe, como visto no Gerenciador de Tarefas ou Process Explorer da Sysinternals Process Explorer - A substituição mais poderosa do Gerenciador de tarefas [Windows]Vamos ser honestos, o Gerenciador de tarefas do Windows não é ótimo para entender e gerenciar os processos em execução no seu computador. Mesmo no Windows 8, onde é muito aprimorado, o gerenciador de tarefas não pode chegar perto do ... consulte Mais informação . Como muitos outros programas do Windows, todas as funcionalidades fornecidas pelo shell não são incorporadas nesse único arquivo executável. Existem dezenas de outros EXE e Arquivos DLL Como corrigir os erros do arquivo DLL ausente consulte Mais informação usado para implementar folhas de propriedades, manipuladores de propriedades, manipuladores de visualização, menus de contexto e muitos outros elementos que você usa no Windows Explorer todos os dias.
Concha Extensível
As extensões de shell permitem que os programadores adicionem facilmente funcionalidade ao Windows Explorer gravando uma DLL para executar o tarefa e registrando a DLL no sistema operacional, para que o Explorer saiba onde encontrar o código para realizar a tarefa. Por exemplo, 7-Zip Como extrair arquivos de ZIP, RAR, 7z e outros arquivos comunsVocê já se deparou com um arquivo .rar e imaginou como abri-lo? Felizmente, gerenciar arquivos ZIP e outros arquivos compactados é simples com as ferramentas certas. Aqui está o que você precisa saber. consulte Mais informação adiciona um submenu ao menu de contexto padrão, fornecendo acesso rápido às tarefas de manipulação de arquivos, Sentinel de disco rígido Fique de olho na saúde de seu HDD e SSD com o Sentinel do disco rígidoVocê já teve uma falha na unidade? Infelizmente, não há panacéia para evitar danos ao hardware. Mas monitorar o seu HDD ou SSD, para agir quando a morte deles se tornar provável, é o primeiro passo. consulte Mais informação adiciona sobreposições de ícones aos ícones padrão da unidade, para que você possa ver rapidamente o status de integridade da unidade e HashTab adiciona uma nova folha de propriedades, para calcular e exibir hashes do arquivo selecionado.
Muitas dessas extensões de shell são implementadas como servidores COM (Component Object Model) em processo. Isso significa que quando um processo, neste caso o Windows Explorer, usa a extensão, ele não aparece no Gerenciador de tarefas ou no Process Explorer como um processo em execução separado com seu próprio identificador de processo (PID). Em vez disso, ele está sendo executado dentro do processo de chamada explorer.exe.
Processo de instância única padrão
O Windows Explorer foi criado para ser capaz de executar como dois processos separados, mas - em sua configuração padrão - ele executará apenas uma única instância. Quando é executado pela primeira vez como parte do processo de inicialização, ele cria o ambiente de área de trabalho do Windows. A execução novamente cria um novo encadeamento no processo existente, que exibe a janela familiar de gerenciamento de arquivos, em vez de iniciar um novo processo.
Esse comportamento permite uma pegada de memória reduzida, mas também pode trazer sua própria reviravolta na solução de problemas. Um erro crítico ou uma exceção não tratada no código que está sendo executado no processo explorer.exe, incluindo servidores em processo fornecidos por DLLs, fará com que todo o ambiente da área de trabalho fique com ele.
Na maioria dos casos, o processo da área de trabalho será reiniciado automaticamente. Se não reiniciar, você ainda poderá usar Ctrl-Shift-Esc para abrir o Gerenciador de Tarefas. De lá, vá para Arquivo> Nova Tarefa (Executar…)> tipo explorer.exe> OK para reiniciar o processo.
Isso pode ser evitado com uma simples alteração. Aberto Windows Explorer> Organizar> Opções de pasta e pesquisa no Vista / 7. Para Windows 8 e posterior, abra File Explorer> Exibir> Opções> Alterar opções de pasta e pesquisa. Selecione os Guia Exibir e verifique Iniciar janelas de pastas em um processo separado.
Alterar essa configuração isola o processo da área de trabalho de todas as outras janelas do Windows Explorer que você abriu. Se qualquer uma dessas janelas do Explorer travar, sua área de trabalho permanecerá ilesa.
Biblioteca de Tempo de Execução do Microsoft Visual C ++ (CRT)
A biblioteca de tempo de execução do Microsoft Visual C ++ fornece rotinas para programar o Windows que automatizam muitas tarefas, como entrada / saída, manipulação de arquivos, alocação de memória, chamadas de sistema e muitas outras.
Toda instalação do Windows terá pelo menos duas versões diferentes do CRT instaladas. Um novo Vista SP2 através de uma máquina com Windows 10 terá as versões 8.0 e 9.0 (VC 2005 e VC 2008, respectivamente) presentes. Quando um software adicional é instalado, ele também pode incluir versões mais recentes dos tempos de execução, dependendo da versão do Visual C ++ usada para criar o programa ou qualquer um de seus componentes.
Erros de tempo de execução
Quando um erro ou exceção é encontrado em um trecho de código, o ideal é que seja tratado assim que possível no procedimento atualmente em execução e seja corrigido ou permita uma graciosa fracasso. Se o erro não for tratado localmente, ele será passado para o código que chamou o código atualmente em execução e o processo continuará até que a exceção seja tratada. Se ele concluir sua execução no topo da cadeia e ainda não for tratado, ele gerará um erro de tempo de execução, como visto acima.
Quando o usuário clica no botão OK, o processo será encerrado. Se o programa tiver um comportamento de falha definido, como serviços críticos, ou seu estado de execução for monitorado por outro processo, ele poderá ser reaparecido automaticamente. É o que está acontecendo neste caso. A tela desmaia quando o processo explorer.exe é encerrado e a área de trabalho volta quando o processo explorer.exe é reiniciado.
Embora a mensagem de erro acima indique claramente que veio do processo explorer.exe, não é provável que seja um problema com o próprio explorer.exe. É muito mais provável que o culpado esteja em outro lugar, como uma extensão de terceiros que está sendo usada pelo Explorer.
outras considerações
Com a descrição do problema do leitor acima, há alguns itens adicionais que precisamos levar em consideração:
- No momento da falha, o Explorer estava tentando, mas não conseguiu, preencher a exibição de lista.
- A incapacidade de acessar unidades após o reaparecimento da área de trabalho pode indicar que outro processo possui uma ou mais desses dispositivos bloqueados, impedindo o acesso a partir do recém-criado explorer.exe processo.
- Corrida sfc / scannow e, obtendo um atestado de integridade, coloca os recursos protegidos do Windows no final da lista para consideração. Outras causas são muito mais prováveis.
As correções estão em
Nesse caso em particular, há três áreas em que eu procuraria uma solução. O primeiro envolve o serviço de Pesquisa do Windows, o segundo envolve a investigação de extensões de shell e o último seria os próprios redistribuíveis do VC ++.
Pesquisa do Windows
Como a captura de tela original mostra a falha ocorrendo quando o Explorer está tentando preencher o listview, é possível que o serviço Windows Search esteja bloqueando o acesso aos recursos necessários. Vi isso acontecer quando o serviço falha e não possui os parâmetros de reinicialização corretos.
pressione Win + R> tipo services.msc> OK para iniciar o console de gerenciamento com o módulo de serviços. Role para baixo até Pesquisa do Windows e clique duas vezes na entrada para abrir a caixa de diálogo Propriedades. Verifique se as configurações na guia Recuperação correspondem à imagem abaixo.
O problema mais comum é a configuração "Reiniciar serviço após:". Este erro ocorre frequentemente quando essa configuração é diferente de zero.
Extensões problemáticas de shell
Baixar ShellExView da Nirsoft para a arquitetura do sistema (x86 ou x64), instale e execute-o. Vai demorar um pouco para examinar o sistema e preencher a tabela com dados. Role para a coluna CLSID Modified Time e clique no cabeçalho para classificar neste campo. Se você deseja excluir os módulos fornecidos pela Microsoft, pode ir para Opções> Ocultar todas as extensões da Microsoft. Para aqueles que usam uma versão de 64 bits do Windows, você também pode mostrar as extensões de 32 bits no sistema acessando Opções> Mostrar extensões de shell de 32 bits.
Procure por extensões adicionadas pouco antes do início dos sintomas. Selecione um ou mais e pressione F7 ou vá para Arquivo> Desativar itens selecionadosou clique no ícone vermelho do LED na barra de ferramentas. Idealmente, isso deve ser feito um de cada vez.
Teste para ver se os sintomas persistem. Se o fizerem, você pode reativar as extensões desativadas anteriormente usando F8, Arquivo> Ativar itens selecionados, ou o ícone verde da barra de ferramentas do LED. A partir daqui, desative uma extensão diferente e repita o processo de teste até encontrar a que está causando o problema.
Reparar / Reinstalar os Redistribuíveis do VC ++
Eu uso este como último recurso, se apenas um programa estiver expulsando erros. Se você tiver vários programas que estão tendo problemas com erros de tempo de execução do VC ++, tente primeiro fazer isso.
Ao olhar para os programas instalados no meu sistema (Painel de controle> Programas e Recursos), mostra todas as versões dos pacotes redistribuíveis (e algumas de suas atualizações) que variam da versão 8 à versão 12 (VC ++ 2005 a VC ++ 2013). Eu os tenho instalados por causa das ferramentas de programação da Microsoft que eu uso. A maioria dos usuários não terá tudo isso.
Você pode encontrar o downloads mais recentes para versões suportadas do Visual C ++ da Microsoft. Para nossos propósitos aqui, você só precisa se preocupar com aqueles que são rotulados como pacotes "redistribuíveis". Os links classificados como service packs são para as ferramentas de programação, não apenas para os tempos de execução. Você precisará apenas dos que estão atualmente listados nos programas instalados no seu sistema. Instalar outras versões não ajudará neste caso. Os usuários de sistemas operacionais de 64 bits podem precisar das versões x86 e x64 do CRT.
O Windows Update verifica se o computador possui as atualizações mais recentes desses pacotes instaladas, mas não verifica se está instalado corretamente e se não foi quebrado. Os instaladores podem verificar se todos os arquivos de tempo de execução são os adequados e que todas as entradas do registro estão corretas.
Depois de baixar os instaladores apropriados, execute-os no sistema. As versões de 2005 solicitarão que você aceite um contrato de licença antes de reinstalar o pacote. Todos os outros possuem uma GUI que perguntará se você deseja reparar ou desinstalar a instalação existente. Na maioria dos casos, uma operação de reparo corrigirá qualquer problema.
Se você quiser tentar o método mais extremo, poderá desinstalar os tempos de execução, reiniciar a máquina e reinstalá-los. Eu não recomendo esse método com os tempos de execução de 2005 e 2008. Sem eles, o Windows gerará muitos erros e uma grande quantidade de funcionalidades não estará disponível quando você reiniciar.
Conclusão
Com um pouco de observação, um toque de tentativa e erro e algum entendimento de como os erros são gerados a partir de tempos de execução no sistema, os problemas de software podem ser encontrados e resolvidos sem recorrer a ferramentas de depuração complicadas e Histórico.
Você já encontrou erros de tempo de execução no seu sistema? O que era necessário para resolvê-los? Deixe-me saber nos comentários abaixo.
Bruce brinca com eletrônica desde os anos 70, computadores desde o início dos anos 80 e responde com precisão a perguntas sobre tecnologia que ele não usou nem viu o tempo todo. Ele também se irrita ao tentar tocar violão.