O que é o Up!?!
Olá. Adoro quando alguém diz;
"[...] como depurar?"
Na verdade, eu não tenho uma instalação da instalação do Windows 8 e também não joguei com uma instalação do Windows 8, portanto, assumirei que existem algumas semelhanças fundamentais com seus antecessores. Vou tentar fazer suposições à medida que as fizer.
Chamando as fotos
Meu palpite, com base na descrição do problema, é que o sistema não está registrando as entradas apropriadas no registro para que, quando você executar "open" depois de fazer anteriormente "open with ...", verá o aplicativo que você selecionado da última vez.
Vou orientá-lo no seu problema e provar ou refutar meu palpite inicial. Se você não precisar de toda a minha verbosidade abaixo, pode pular / digitalizar para a seção Recon, onde começamos a tentar descobrir o problema.
Correções rápidas
Antes de entrarmos nas etapas mais envolvidas descritas abaixo, você deve primeiro investigar a interface de Programas Padrão encontrada no Painel de Controle . Você pode obter um efeito semelhante no menu "abrir com ...", mas já disse que não estava funcionando para você. ** Certifique-se de definir a caixa de seleção que indica para lembrar sua configuração como o aplicativo padrão para o aplicativo que você selecionou.
Na interface Programas Padrão no Painel de Controle , pode haver opções para "redefinir os padrões" ou reverter para uma versão anterior. Você pode considerar essas várias opções para ver se elas resolvem o seu problema. Faça isso primeiro, porque serão as correções mais fáceis. Se eles não estiverem funcionando, continue com as opções abaixo.
Suposições
Estas são as suposições que eu prevejo. Se algum deles estiver fora da base, entre em contato e, se for necessário, levarei um tempo para configurar uma instalação do Windows 8.
O registro
Eu acho que a maior suposição que estou fazendo é que o sistema operacional ainda usa o registro e, para lugares em que dou exemplos, suponho que o layout / estrutura do diretório do registro no Windows 8 também seja semelhante aos seus antecessores.
Cmd.exe
Pessoalmente, geralmente prefiro um prompt de comando, por isso provavelmente descreverei as etapas no contexto de uma sessão do terminal. Estou assumindo que o Windows 8 ainda tem o cmd.exe ; Eu ficaria realmente surpreso se não o fizesse.
Editor do Registro
Se houver um registro, provavelmente existe uma ferramenta para exibir / editar o registro. Assumirei que o nome das ferramentas da GUI e da linha de comando sejam os mesmos dos antecessores.
Privilégios de usuário
Assumirei que as maneiras de invocar shell com privilégios elevados são semelhantes o suficiente aos predecessores do SO para que você saiba o que fazer. Se eu estiver fora da base aqui, peça-me alguma elaboração e farei o que puder.
SysInternals Suite
Eu ficaria extremamente desapontado se eles não estivessem disponíveis no Windows 8. Não acredito que não estariam disponíveis porque são tão fundamentais para os ciclos de desenvolvedor / controle de qualidade que passam pela Microsoft e por terceiros.
WinDbg.exe, DDKs e SDKs
Presumo que você ainda não os tenha instalado. Isso é bom. Provavelmente, podemos resolver o problema sem precisar dessas ferramentas pesadas. Acesse a seção Recon primeiro e, se você precisar (ou apenas quiser) se aprofundar, conversará sobre essas ferramentas.
Recon
Sempre tente realizar sua tarefa pelos meios mais simples possíveis primeiro. Começar com o Windows Debugger seria um exagero para um ponto de partida, e seria um pouco mais difícil identificar a parte / sequência de eventos que são relevantes.
Se você ainda não baixou e instalou o SysInternals Suite , faça isso agora. No mínimo, você precisará do Process Explorer e do Process Monitor para as primeiras tentativas de detectar o que está errado. Essas duas ferramentas fazem parte do conjunto, que você pode baixar como um arquivo * .zip, mas se você tiver uma conexão de rede ruim, poderá optar por fazer o download das duas ferramentas individualmente para fazer isso mais rapidamente.
Descompacte o conjunto / ferramentas em um local apropriado em seu sistema (em grande parte sua preferência pessoal). Se você estiver usando o utilitário de descompactação padrão do Windows, remova o arquivo da Zona antes de descompactar o arquivo morto. O arquivo da zona é como o sistema operacional sabe "este arquivo foi baixado da Internet por [...] sua conta e risco [...] desmarque a caixa para [...]". Tenho certeza de que você já viu uma mensagem semelhante à de uma caixa pop-up antes. Geralmente, existe uma pequena caixa de seleção na parte inferior esquerda do pop-up que lembrará a sua decisão daqui para frente se você a alternar uma vez.
Outra maneira de ver essa caixa de seleção é clicar com o botão direito do mouse -> Propriedades no arquivo que você baixou. A caixa de seleção deve estar na parte inferior da guia Geral . Ativar essa caixa de seleção uma vez removerá o arquivo de zona do binário (como observação lateral, o arquivo de zona é armazenado em um fluxo de dados alternativo do binário em questão - mas isso é outra discussão. Por enquanto, basta usar as janelas pop-up ou interfaces de propriedades de arquivo para manipular arquivos de zona .
Remova o arquivo de zona do arquivo compactado * .zip antes de descompactá-lo com a ferramenta zip padrão do Windows. Se você não removê-lo do arquivo * .zip, o utilitário ZIP marcará cada arquivo descompactado com um arquivo de zona e será difícil obter a janela pop-up para todos os binários executados no conjunto.
Vamos começar com duas ferramentas: * Process Explorer (procexp.exe) * Process Monitor (procmon.exe)
Você pode fazer referência ao arquivo * .chm correspondente se quiser aprender mais sobre eles. Vamos começar com o Process Explorer e, se não conseguirmos identificar rapidamente o problema, passaremos para o Process Monitor (que é um pouco mais complicado de executar) e, se ainda não conseguirmos resolver o problema, conversaremos sobre puxar as grandes armas. O fato é que, muitas vezes, encontro o que preciso saber na fase de reconhecimento e não preciso inicializar o depurador.
Antecedentes e entendimento
O registro é onde o sistema armazena os mapeamentos que relacionam extensões de arquivo aos aplicativos que sabem como lidar com eles. Por exemplo, você pode usar as ferramentas de linha de comando ftype e assoc para visualizar / manipular os mapeamentos para extensões de aplicativos.
Para ver o tipo de arquivo associado à extensão ".txt", execute o seguinte comando em um terminal.
$> assoc .txt
.txt=txtfile
Isso indica que o .txt extensão de arquivo é atribuído ao txtfile classe de tipos de arquivos. Para ver o aplicativo associado à classe txtfile , execute o comando
$> ftype txtfile
txtfile=%SystemRoot%\system32\notepad.exe %1
Essas ferramentas estão apenas lendo as configurações do registro para o sistema. Você pode visualizá-los você mesmo com uma ferramenta como reg.exe que você executaria em um terminal ou a maioria das pessoas preferiria o editor de registro da GUI regedit.exe . Nesse local, você verá algumas das extensões, classes de tipo de arquivo e associações de aplicativos que você simplesmente pesquisaria na seção HKEY_CLASSES_ROOT. Diretamente nessa seção, você deve encontrar uma chave para ".txt" e também "txtfile" e, claro, muito, muito mais.
Aqui estão mais alguns exemplos de uso dos utilitários assoc e ftype .
Verifique se você está alimentando extensões para assoc . Eu acho que você já sabe disso, mas para ser claro, as extensões de arquivo são os "pontos seguidos por 3 ou 4 caracteres" que terminam um nome de arquivo. Por exemplo, application.exe , document.txt ou presentaion.ppt. O utilitário assoc espera que você forneça o "." e os 3/4 caracteres como seu parâmetro.
$> assoc .exe
.exe=exefile
$> assoc .txt
.txt=txtfile
Separado e distinto da extensão do arquivo, existe o tipo de arquivo . Várias extensões de arquivo podem ser agrupadas em um único tipo de arquivo . Considere como ".html" e ".htm" são mapeados para o mesmo tipo de arquivo; isto é, "htmlfile". O exemplo abaixo tenta demonstrar mais esse ponto.
$> assoc .html
.exe=htmlfile
$> assoc .htm
.txt=htmlfile
$> ftype htmlfile
htmlfile="C:\Program Files (x86)\Internet Explorer\iexplorer.exe" -nohome
Além disso, observe que o registro contém as seguintes chaves na seção HKEY_CLASSES_ROOT.
- HKCR.html
- HKCR.htm
- HKCR \ htmlfile
Se houver uma maneira conveniente de fazer upload / anexar / compartilhar um arquivo txt, execute os seguintes comandos, e examinarei a saída que eles criarem.
$> cd \somewhere\easy\for\you\to\find\
$> assoc > extension_associations.txt
$> ftype > filetype_handlers.txt
Agora você deve conseguir abrir as pastas nas quais escreveu esses arquivos e compartilhá-los. Os comandos a seguir também devem abrir os arquivos (se você conseguir encontrar os arquivos criados).
$> notepad \somewhere\easy\for\you\to\find\extension_associations.txt
$> notepad \somewhere\easy\for\you\to\find\filetype_handlers.txt
Se você não pode compartilhar arquivos * .txt inteiros comigo, execute pelo menos esses dois comandos e coloque os resultados nos comentários.
$> assoc .txt
.txt=textfile
$> ftype textfile
textfile="C:\Program Files (x86)\Notepad++\notepad++.exe" "%1"
Se você não vir nada , deve começar definindo-o como algo. Verifique se você possui privilégios elevados (ou seja, privilégios de administrador) ao fazer essas alterações; caso contrário, elas provavelmente não funcionarão como você espera.
Process Explorer
TODO, se necessário
Monitor de Processo
TODO, se necessário
Instalando ambientes de depuração do Windows