Fonte di bug
Questo non è né Visual Studio né bug relativo a Windows. In effetti, il bug è nella tua tastiera! Molte tastiere di diversi fornitori sono state segnalate come difettose.
Problema
Se premi Ctrl+ Breake rilasci Ctrlprima, Break si blocca su una tastiera difettosa. Se hai mai premuto Ctrl+ Breaknel modo "sbagliato", avrai questo problema con la ricerca interrotta.
Dettagli
In base alle specifiche del codice di scansione Breake Ctrl+ Breaksono speciali. Inviano i codici di scansione "make" (stampa) E "break" (rilascio) nel momento in cui si preme Break. Non inviano nulla quando si rilascia Break. La tastiera con errori invierà la seguente sequenza:
- Ctrl codice di scansione "make"
- Ctrl+ Break"crea" il codice di scansione
- Ctrl codice di scansione "break"
- Pause codice di scansione "break"
Cioè, Ctrl+ Breaknon viene mai rilasciato, ma Pauseviene invece rilasciato.
Riproduzione
Ad esempio, potresti usare Spy ++ vecchio buono dagli strumenti di Visual Studio. Allegalo a qualsiasi cosa, ad esempio Blocco note di Windows, e monitora i messaggi (ti suggerisco di selezionare solo i messaggi della tastiera). Premi Ctrl+ Break, rilasciando Ctrlprima. Controlla l'output di Spy ++. Vedrai la sequenza che ho mostrato nella sezione Dettagli.
Ho provato due diverse tastiere sullo stesso computer. Logitech K120 ha il bug mentre alcune altre tastiere Mitsumi si comportano secondo le specifiche e non hanno il bug.
Se ci pensate, è facile capire che il comportamento corretto richiede una gestione di casi speciali, mentre il comportamento con errori è ingenuo. Questo è il motivo per cui molte tastiere diverse possono essere difettose.
Soluzione
Sostituisci la tua tastiera :)
Soluzione
Devi semplicemente premere Ctrl+ Break, prestando attenzione a rilasciare Breakprima. Non importa quale applicazione sia attiva.