Cos'è Up!?!
Ciao. Lo adoro quando qualcuno dice;
"[...] come eseguire il debug?"
In realtà non ho un'installazione del programma di installazione di Windows 8 e non ho nemmeno giocato con un'installazione di Windows 8, quindi presumo che ci siano alcune somiglianze fondamentali con i suoi predecessori. Cercherò di richiamare le ipotesi mentre le faccio.
Dettare legge
La mia ipotesi, in base alla descrizione del problema, è che il sistema non riesce a registrare le voci appropriate nel registro in modo che quando esegui "apri" dopo aver precedentemente eseguito "apri con ..." vedrai l'applicazione che selezionato l'ultima volta.
Ti guiderò attraverso il tuo problema e dimostrerò o confuterò la mia ipotesi iniziale. Se non hai bisogno di tutta la mia verbosità qui sotto, puoi saltare / scansionare fino alla sezione Ricognizione dove iniziamo a provare a scoprire il problema.
Soluzioni veloci
Prima di entrare nei passaggi più coinvolti descritti di seguito, dovresti innanzitutto esaminare l' interfaccia Programmi predefiniti che si trova nel Pannello di controllo . Puoi ottenere un effetto simile passando dal menu "Apri con ...", ma hai già detto che non funzionava per te. ** Assicurarsi di impostare la casella di controllo che indica di ricordare l'impostazione come applicazione predefinita per qualsiasi applicazione selezionata.
Sotto la Programmi predefiniti interfaccia nel pannello di controllo ci potrebbero essere opzioni per effettuare il "reset" default o tornare a una versione precedente. Puoi considerare queste varie opzioni per vedere se risolvono il tuo problema. Prima fai queste cose, perché saranno le soluzioni più semplici. Se non funzionano, è necessario continuare con le opzioni seguenti.
ipotesi
Questi sono i presupposti che prevedo. Se qualcuno di questi è fuori dalla base, per favore fatemelo sapere e se devo, mi prenderò il tempo per impostare un'installazione di Windows 8.
Il registro
Penso che il più grande presupposto che sto facendo sia che il sistema operativo usi ancora il registro e per i posti in cui do esempi suppongo che il layout / struttura della directory del registro in Windows 8 sia simile anche ai suoi predecessori.
cmd.exe
Personalmente, spesso preferisco un prompt dei comandi, quindi probabilmente descriverò i passaggi nel contesto di una sessione terminale. Suppongo che Windows 8 abbia ancora cmd.exe ; Sarei davvero sorpreso se non lo facesse.
Editor del registro
Se esiste un registro, probabilmente esiste uno strumento per visualizzare / modificare il registro. Presumo che il nome della GUI e gli strumenti della riga di comando siano gli stessi dei precedenti.
Privilegi dell'utente
Presumo che i modi per invocare shell con privilegi elevati siano abbastanza simili ai predecessori del SO che saprai cosa fare. Se sono off-base qui, chiedimi solo qualche elaborazione e farò quello che posso.
Suite SysInternals
Sarei estremamente deluso se questi non fossero disponibili in Windows 8. Non posso credere che non sarebbero disponibili perché sono così fondamentali per i cicli sviluppatore / QA che Microsoft e gli sviluppatori di terze parti passano attraverso.
WinDbg.exe, DDK e SDK
Presumo che tu non li abbia già installati. Va bene. Probabilmente possiamo risolvere il problema senza richiedere quegli strumenti pesanti. Passa prima attraverso la sezione Ricognizione e se hai bisogno (o semplicemente vuoi) di approfondire, parlerai di questi strumenti.
ricognizione
Cerca sempre di svolgere il tuo compito con i mezzi più semplici possibili prima. Iniziare con il debugger di Windows sarebbe eccessivo per un punto di partenza, e sarebbe un po 'più difficile individuare il pezzo / sequenza di eventi rilevanti.
Se non hai già scaricato e installato The SysInternals Suite , allora dovresti farlo ora. Per lo meno avrai bisogno di Process Explorer e Process Monitor per i primi tentativi di individuare ciò che non va. Entrambi questi strumenti fanno parte della suite, che è possibile scaricare come file * .zip, ma se si dispone di una connessione di rete scadente, è possibile scegliere di scaricare i due strumenti singolarmente per farlo più velocemente.
Decomprimi la suite / strumenti in una posizione appropriata sul tuo sistema (in gran parte le tue preferenze personali). Se si utilizza l'utilità di decompressione di Windows predefinita, sarà necessario rimuovere il file Zone prima di decomprimere l'archivio. Il file di zona è il modo in cui il sistema operativo sa "questo file è stato scaricato da Internet [...] eseguito a proprio rischio [...] deselezionare la casella in [...]". Sono sicuro che hai già visto un messaggio simile a quello in una finestra a comparsa prima. Di solito c'è una piccola casella di controllo nella parte inferiore sinistra del pop-up che ricorderà la tua decisione in avanti se la commuti una volta.
Un altro modo per visualizzare la casella di controllo è fare clic con il pulsante destro del mouse -> Proprietà sul file scaricato. La casella di controllo dovrebbe essere nella parte inferiore della scheda Generale . Se questa casella di controllo viene selezionata una volta, il file della zona verrà rimosso dal file binario (come nota a margine, il file della zona viene archiviato in un flusso di dati alternativo del file binario in questione, ma questa è un'altra discussione. Per ora, basta usare le finestre pop-up o interfacce delle proprietà dei file per manipolare i file di zona .
Assicurati di rimuovere il file della zona dall'archivio * .zip prima di decomprimerlo con lo strumento zip predefinito di Windows. Se non lo rimuovi dal file * .zip, l'utilità ZIP contrassegnerà ogni file decompresso con un file di zona e sarà una seccatura ottenere la finestra pop-up per qualsiasi binario che esegui nella suite.
Esistono due strumenti che inizieremo con: * Process Explorer (procexp.exe) * Process Monitor (procmon.exe)
Puoi fare riferimento al file * .chm corrispondente se vuoi saperne di più. Inizieremo con Process Explorer e se non riusciamo a individuare rapidamente il problema, passeremo a Process Monitor (che è un po 'più coinvolto da eseguire) e se non riusciamo ancora a risolvere il problema, parleremo di tirare fuori le grosse pistole. Il fatto è, tuttavia, che spesso trovo ciò che devo sapere nella fase di ricognizione e non ho bisogno di avviare il debugger.
Contesto e comprensione
Il registro è dove il sistema memorizza i mapping che mettono in relazione le estensioni dei file con le applicazioni che sanno come gestirli. Ad esempio, è possibile utilizzare gli strumenti da riga di comando ftype e assoc per visualizzare / manipolare i mapping per le estensioni alle applicazioni.
Per vedere il tipo di file associato con l'estensione ".txt" eseguire il comando seguente da un terminale.
$> assoc .txt
.txt=txtfile
Ciò indica che l' estensione del file .txt è assegnata alla classe di tipi di file txtfile . Quindi, per vedere l'applicazione associata alla classe txtfile , eseguire il comando
$> ftype txtfile
txtfile=%SystemRoot%\system32\notepad.exe %1
Questi strumenti stanno solo leggendo le impostazioni del registro di sistema. Puoi visualizzarli tu stesso con uno strumento come reg.exe che eseguiresti da un terminale o che la maggior parte delle persone preferirebbe l'editor del registro della GUI regedit.exe . In quella posizione vedrai alcune delle estensioni, classi di tipi di file e associazioni di applicazioni che potresti semplicemente cercare sotto l'hive HKEY_CLASSES_ROOT. Direttamente sotto quell'alveare dovresti trovare una chiave sia per ".txt", sia per "txtfile" e ovviamente molto, molto di più.
Ecco alcuni altri esempi di utilizzo delle utilità assoc e ftype .
Assicurati di fornire estensioni ad assoc . Penso che tu lo sappia già, ma per essere chiari le estensioni dei file sono il "punto seguito da 3 o 4 caratteri" che terminano il nome di un file. Ad esempio, application.exe , document.txt o presentazioneion.ppt. L' utilità assoc si aspetta che tu fornisca il "." e i 3/4 caratteri come parametro.
$> assoc .exe
.exe=exefile
$> assoc .txt
.txt=txtfile
Separato e distinto dall'estensione del file c'è il tipo di file . È possibile raggruppare più estensioni di file in un singolo tipo di file . Considera come ".html" e ".htm" si associano allo stesso tipo di file; vale a dire "htmlfile". L'esempio seguente cerca di dimostrare ulteriormente questo punto.
$> assoc .html
.exe=htmlfile
$> assoc .htm
.txt=htmlfile
$> ftype htmlfile
htmlfile="C:\Program Files (x86)\Internet Explorer\iexplorer.exe" -nohome
Inoltre, notare che il registro contiene le seguenti chiavi nell'hive HKEY_CLASSES_ROOT.
- HKCR.html
- HKCR.htm
- HKCR \ htmlfile
Se c'è un modo conveniente per caricare / allegare / condividere un file txt, allora eseguo i seguenti comandi e guarderò l'output che creano.
$> cd \somewhere\easy\for\you\to\find\
$> assoc > extension_associations.txt
$> ftype > filetype_handlers.txt
Ora dovresti essere in grado di aprire le cartelle in cui hai scritto quei file e condividerli. Anche i seguenti comandi dovrebbero aprire i file (se riesci a trovare i file che hai creato).
$> notepad \somewhere\easy\for\you\to\find\extension_associations.txt
$> notepad \somewhere\easy\for\you\to\find\filetype_handlers.txt
Se non riesci a condividere interi file * .txt con me, almeno esegui questi due comandi e inserisci i loro risultati nei commenti.
$> assoc .txt
.txt=textfile
$> ftype textfile
textfile="C:\Program Files (x86)\Notepad++\notepad++.exe" "%1"
Se non vedi nulla lì, dovresti iniziare impostandolo su qualcosa. Assicurati di avere privilegi elevati (ovvero privilegi di amministratore) quando apporti tali modifiche, altrimenti probabilmente non funzioneranno come ti aspetti.
Process Explorer
TODO se necessario
Process Monitor
TODO se necessario
Installazione di ambienti di debug di Windows