Speriamo che questa guida particolare ti aiuti se noti bug virtuali durante l’utilizzo di strumenti di debug non elaborati.
Approvato: Fortect
- 6 minuti per leggere.
Un’eccezione a questa regola è indicare un errore specifico che si verifica quando un’assistenza è in esecuzione contemporaneamente. È possibile indicare al tipo di debugger quali eccezioni o serie di eccezioni disturbare e dove interrompere il debugger (questo è generalmente considerato un’interruzione nel debugger). Se un debugger muore, ti mostrerà dove è stato generato l’elemento eccezione. Puoi anche rimuovere o acquistare eccezioni. Con la soluzione aperta in Visual Studio, usa> Finestra di debug> Opzioni di eccezione per aprire la mia finestra Opzioni di eccezione.
Assicurati che i tuoi gestori presenti rispondano a molte eccezioni importanti. Se sei abituato ad aggiungere gestori di eccezioni, vedi Risolvere i problemi scrivendo un codice C # migliore . Impara anche come impostare un debugger privo di bug in modo che l’esecuzione si interrompa sempre quando viene generata una differenza.
Se si verifica un’eccezione, qualche debugger scrive un messaggio di eccezione appropriato nella finestra di output esatta. Può interrompere l’esecuzione più tipicamente associata ai seguenti contenitori se:
- Un’eccezione può essere generata ed effettivamente gestita.
- Il debugger è normalmente configurato per sospendere l’esecuzione fino a quando il gestore non viene normalmente chiamato.
- Hai configurato Just My And-Code , il debugger è ottimizzato per spendere tutte le eccezioni che non sono state gestite in codice su misura.
Dite al debugger di mettere in pausa quando si verifica un’eccezione
Dove trovo i vari messaggi non gestiti?
Questo tipo di errore di solito viene visualizzato nella finestra di Microsoft .NET Framework, quindi di solito appare all’accensione del computer. Ecco spesso il contesto completo del messaggio di errore: “Nella tua richiesta è stata generata un’esenzione non gestita. Se un dipendente fa clic sul pulsante Avanti, l’applicazione ignorerà seriamente questo errore e proverà a continuare.
Il debugger si interrompe quando ed eccezioni. Puoi anche pagare per l’eccezione prima di chiamare il gestore terribilmente spesso.
Nella finestra Eccezioni (Debug> Windows> Impostazioni eccezioni), espandere la maggior parte del nodo relativo a una categoria di eccezioni, come Eccezioni CLR. Quindi seleziona questa casella per un’eccezione specifica chiaramente dopo questa categoria, come System.AccessViolationException. È probabile che tu scelga anche un’intera categoria nel linguaggio delle eccezioni.
Se selezioni un’esenzione nella finestra Opzioni eccezione, il debugger si fermerà sicuramente ogni volta che viene generata un’eccezione, in ogni caso su come viene gestita. L’eccezione è ora anche conosciuta come la prima eccezione casuale. Ad esempio, ecco alcuni degli script:
-
Come disarmo l’eccezione non gestita?
Seguendo il pacchetto software della console C#, il metodo Main genera un’eccezione AccessViolationException in un nuovissimo
try / cattura
blocco.Come faccio a rompere un’esenzione in Visual Studio?
azzeramento statico Main (line [] args) Provare Genera una nuova AccessViolationException (); Console.WriteLine ("qui"); netto (eccezione e) Console.WriteLine ("Eccezione riscontrata"); Console.WriteLine ("Arrivederci");
Se hai selezionato AccessViolationException nei parametri di eccezione, la funzionalità verrà interrotta nella sezione
baby sling
della linea se esegui un codice nel debugger. A questo punto, la tua famiglia può procedere con l’esecuzione. In definitiva la console se visualizza le righe:Eccezione
rilevataArrivederci non viene ancora visualizzata l’intera riga
su questo sito Web
. -
Is l’opzione principale “continua quando non gestita” non è in grado in Visual Studio?
L’effetto dipende dalle impostazioni dell’esenzione, in particolare dall’opzione “Continua se certamente elaborata”, che è disabilitata per impostazione predefinita per un buon numero di esclusioni, inclusa “Eccezione”. Pertanto, il comportamento è trattato e la documentazione di Visual Studio lo accentuerà.
L’applicazione console C# fa riferimento a una classe di raccolta con classe a, che contiene i modelli del passaggio 2. Un metodo solleva un’esenzione a questa regola e il secondo Il metodo eleva la stessa eccezione, ma non ne è responsabile.
public class Class1 public evita ThrowHandledException () Provare Genera una nuova AccessViolationException (); catch (AccessViolationException ave) Console.WriteLine ("eccezione rilevata" + ave.Message); public void condiviso ThrowUnhandledException () includere una nuova eccezione AccessViolationException ();
Questo è senza dubbio il metodo speciale Main() dell’applicazione ECU:
void risolto Main (string [] args) Classe1 classe1 = nuova classe1 (); class1.ThrowHandledException (); class1.ThrowUnhandledException ();
Se AccessViolationException è inclusa nelle specifiche dell’eccezione, l’esecuzione verrà interrotta definitivamente alla riga
throw
in ThrowHandledException () e ThrowUnhandledException () se la esegui di nuovo nel codice del debugger.
Approvato: Fortect
Fortect è lo strumento di riparazione PC più popolare ed efficace al mondo. Milioni di persone si affidano a milioni di persone per mantenere i loro sistemi in esecuzione veloci, fluidi e privi di errori. Grazie alla sua semplice interfaccia utente e al potente motore di scansione, Fortect trova e risolve rapidamente un'ampia gamma di problemi di Windows, dall'instabilità del sistema e problemi di sicurezza alla gestione della memoria e ai colli di bottiglia delle prestazioni.
Per ripristinare le impostazioni differenziali ai valori predefiniti, fare clic sul pulsante “Ripristina elenco alle temperature predefinite”:
Di’ al debugger di continuare le eccezioni non gestite
Se qualcuno sta eseguendo il debug di regolamenti .NET o JavaScript con Il mio solo codice , potresti voler specificare un debugger in modo da non eliminare eventuali omissioni che non sono gestite nel codice dell’utente finale ma vengono passate ad altri voli merci con cui fare affari.
p>
-
Nelle impostazioni dell’eccezione bozza, apri il pannello di scelta rapida facendo clic con il pulsante destro del mouse sull’etichetta della colonna effettiva e determinando su Mostra colonne> Altre azioni. (Se sei intimo con Just Code, questo comando una tantum non apparirà solo.) La terza colonna è intitolata Azioni aggiuntive da visualizzare.
Se viene considerata un’eccezione che dice “Continua” se diventi un utente non gestito nel tuo codice fino a questa riga, il debugger continuerà se questa è sicuramente l’eccezione La lettura non è completamente gestita dall’utente in il tuo codice, ma gestito al di fuori del corpo.
-
Per modificare questa impostazione per una singola eccezione, seleziona l’eccezione, fai clic con il pulsante destro del mouse per visualizzare il menu di scelta rapida e seleziona Continua se il codice del creatore non la gestisce. È possibile modificare l’impostazione per tutte le eccezioni, ad esempio a causa di tutte le eccezioni di Common Language Runtime).
Ad esempio, i gestori Web ASP.NET gestiscono le eccezioni e le traducono in un ottimo codice di reputazione HTTP 500 ( Gestione delle eccezioni per API Web ASP.NET ), che potrebbe non aiutarti a trovare una nuova fonte . definire diverso. Nel caso di studio seguente, il sistema dell’utente effettua una chiamata che String to.Format()
genera un’altra FormatException . L’esecuzione viene interrotta come segue:
Aggiungi e rimuovi eccezioni
Stai per aggiungere e rimuovere eccezioni. Per rimuovere un’opzione di esclusione da ciascuna categoria, seleziona l’eliminazione e seleziona quella specifica esclusione utilizzando il pulsante dell’offerta (segno meno) su EliminaAggiungi problemi di esclusione “. Puoi o puoi fare clic con il pulsante destro del mouse sui diversi e selezionare Elimina dal passaggio menu -step. La cancellazione dell’eccezione ha lo stesso effetto dell’elusione dell’eccezione, ovvero impedisce a tutto il debugger di bloccarsi alla seconda esecuzione.
-
Selezionare uno dei tipi di esclusioni nella finestra Impostazioni eccezioni (per famiglie come Common Language Runtime).
-
Fare clic sull’hotlink Aggiungi varie alla categoria selezionata (segno più).
-
Immettere un nome di omissione per questa regola (ad esempio, System.UriTemplateMatchException).
L’eccezione viene aggiunta a un nuovo elenco alfabetico (in ordine) e facilmente osservabile.
Per aggiungere un’eccezione alle eccezioni di accesso al disco rigido GPU, alle eccezioni di runtime JavaScript o all’eccezione Win32 a queste categorie, aggiungere un codice di errore e una descrizione.
Come ottengo privo di eccezioni non gestite in Visual Studio?
Gli ambienti dell’eccezione sono sicuramente archiviati nel file della soluzione, quindi si applicano a una soluzione specifica. Non è possibile riutilizzare eccezioni specifiche per le regole da queste impostazioni su tutte le soluzioni. Ora verranno salvati solo i raggruppamenti.Eccezioni ovali; le eccezioni soppresse non lo sono. Puoi aumentare un’eccezione, chiudere e riaprire la soluzione e inoltre l’eccezione rimarrà lì. Tuttavia, se il pubblico rimuove l’eccezione effettiva e chiude/riapre la soluzione, le altre riappariranno.
La finestra Impostazioni eccezione supporta le specie di eccezione generiche in Visual Basic in C#, ma piuttosto che lì. Per violare le condizioni MyNamespace like.GenericException
, è necessario aggiungere un’eccezione esistente come MyNamespace.GenericException`1. In altre parole, se produci da solo una bella eccezione come il codice:
Accelera ora le prestazioni del tuo computer con questo semplice download.scrive questa classe GenericException : Eccezione herd GenericException (): base ("Questa è un'eccezione non specifica.")