Risoluzione dei problemi relativi alle eccezioni: System.AccessViolationException
Un'eccezione AccessViolationException viene generata quando viene eseguito un tentativo di leggere o scrivere nella memoria protetta.
Suggerimenti associati
Assicurarsi che la memoria a cui si sta tentando di accedere sia stata allocata.
La gestione automatica della memoria è uno dei servizi forniti da Common Language Runtime. Si consiglia di spostare il codice gestito per usufruire di questo servizio. Per ulteriori informazioni, vedere Gestione automatica della memoria.Assicurarsi che la memoria a cui si sta tentando di accedere non sia danneggiata.
Se sono state eseguite numerose operazioni di lettura o scrittura tramite puntatori non validi, è possibile che la memoria sia danneggiata.
Osservazioni
Quando il codice non gestito o unsafe tenta di leggere o scrivere in aree di memoria che non sono state allocate o alle quali il codice non ha accesso, si verifica una violazione di accesso. Poiché non tutte le operazioni di lettura o scrittura tramite puntatori non validi generano violazioni di accesso, quando si verifica una violazione di accesso in genere significa che sono state eseguite numerose operazioni di lettura o scrittura tramite puntatori non validi e che la memoria potrebbe essere danneggiata.
Nel codice gestito tutti i riferimenti hanno un valore valido o null. Qualsiasi operazione che tenta di utilizzare un riferimento con valore null in codice verificabile genera un'eccezione NullReferenceException.
Una violazione di accesso che si verifica in codice gestito unsafe può essere espressa come NullReferenceException o AccessViolationException in base alla piattaforma.
Le violazioni di accesso in codice non gestito che vengono propagate a codice gestito sono sempre espresse come AccessViolationException.
Vedere anche
Attività
Procedura: utilizzare Informazioni sulle eccezioni