Errori di runtime in Windows sono vecchi quanto il sistema operativo stesso. È un messaggio di errore comune per vedere quando un'app si arresta in modo anomalo, ma cos'è esattamente un errore di runtime e cosa puoi fare al riguardo?
Lo sviluppo del software è complesso e le applicazioni moderne si basano su librerie sofisticate e dati di supporto per funzionare come previsto. Questa guida ti aiuterà a capire perché si verificano errori di runtime e come ridurli al minimo.
Che cos'è un errore di runtime?
Il termine "errore di runtime" si riferisce a qualsiasi errore dell'applicazione quando viene eseguito un programma. In altre parole, succede a un programma in esecuzione. Ciò è in contrasto con gli errori che si verificano durante la compilazione di un programma. La compilazione è il processo di prendere il codice di programmazione (il codice "sorgente") e di convertirlo in codice binario che può essere eccitato dal sistema operativo. Se qualsiasi parte del codice sorgente non è valida, il compilatore si fermerà e darà un messaggio di errore.
Gli errori di runtime si verificano quando l'eseguibile compilato incontra una situazione in cui non sa cosa fare dopo o qualcosa interferisce con il suo normale funzionamento. A questo punto getterà la spugna e genererà un errore di runtime.
Diversi tipi di errori di runtime
Poiché gli errori di runtime sono definiti in modo così ampio, risolverli può essere complicato. Aiuta a capire quali tipi comuni di errori potresti riscontrare. I cinque tipi di errore riportati di seguito non sono esaustivi ma sono i colpevoli più probabili.
Errori logici
Gli errori logici si verificano quando il computer incontra letteralmente qualcosa che "non calcola ". È un output generato dal codice del programma che produce un risultato inaspettato, a volte impossibile, perché la logica del codice non tiene traccia o i programmatori non hanno previsto un insieme specifico di condizioni o input.
Perdite di memoria
Una perdita di memoria si verifica quando un programma non restituisce la memoria richiesta quando non ne ha più bisogno. Con il passare del tempo le perdite di memoria lasciano sempre meno risorse per altri programmi, con conseguente peggioramento delle prestazioni e, infine, errori di runtime. Questo è interessante perché il software che segnala un errore di runtime di solito non è quello con una perdita di memoria. È solo una vittima della fuga di notizie..
Dividendo per zero
È impossibile dividere per zero, quindi quando il tuo computer ci prova implode in un buco nero. Stavo solo scherzando! Manderà in crash il programma con un errore di runtime sulla falsariga di "impossibile dividere per zero".
Oggetti non definiti
Questo errore è solitamente associato a Java e JavaScript, dove le variabili a cui non è stato assegnato un valore o non sono state dichiarate. In altre parole, non ci sono dati in una variabile, oppure il codice si riferisce a una variabile che non esiste. Fondamentalmente, il programmatore ha commesso un errore in qualche modo.
Errori IO
Gli errori IO o Input/Output si verificano quando un programma tenta di leggere o scrivere dati da un dispositivo di archiviazione e fallisce. Ciò può avvenire per vari motivi, da un'unità disconnessa a un disco rigido o hardware USB difettoso. I dischi ottici graffiati sono un'altra causa comune di errori IO.
Come correggere gli errori di runtime
Quindi hai riscontrato un errore di runtime e questo ti dà fastidio perché stai cercando di portare a termine le cose. Anche se abbiamo menzionato in precedenza che gli errori di runtime sono di diverse varietà e che errori specifici possono indicarti di quale tipo, esistono alcune soluzioni generali che potrebbero funzionare indipendentemente dai dettagli.
Riavvia il computer
Il riavvio del computer potrebbe risolvere problemi di perdita di memoria o eliminare eventuali cache di dati temporanei o altri dati funzionanti che potrebbero aver causato l'arresto di un programma. Se un problema si risolve dopo il riavvio, non aiuta a risolverne la causa, ma per problemi occasionali, un riavvio è una soluzione rapida da provare.
Aggiorna l'applicazione
Molto spesso, gli errori di runtime nel software derivano da bug nel software stesso. Una volta che uno sviluppatore di software viene a conoscenza di questi bug, di solito risolve il problema e rilascia un aggiornamento per l'applicazione. Quindi una delle prime cose che dovresti fare è verificare se è disponibile un aggiornamento per il tuo software.
La cosa forse più importante è che, quando riscontri un errore di runtime di Windows, dovresti segnalarlo agli sviluppatori. A volte è presente un pulsante di segnalazione accanto al messaggio di errore; altre volte potresti dover fare uno screenshot o scrivere un codice di errore e poi metterti in contatto tramite email o social media. Segnalare un nuovo bug può accelerare la risoluzione del problema..
Aggiorna Windows
Gli errori di runtime possono anche essere dovuti a bug o altri problemi presenti nello stesso Microsoft Windows, che spesso vengono risolti negli aggiornamenti di Windows. I piccoli problemi vengono solitamente risolti negli "hotfix", ovvero piccoli aggiornamenti che risolvono specifici problemi urgenti.
In alternativa, se un programma ha iniziato a fornire errori di runtime subito dopo un aggiornamento di Windows, potresti voler eliminare l'ultimo aggiornamento finché gli sviluppatori non aggiornano il loro software.
Aggiorna i tuoi driver obsoleti
I driver sono software che consentono al sistema operativo di controllare l'hardware, come la scheda video (ovvero la scheda grafica). Il nuovo software o il software appena aggiornato possono fare affidamento su funzionalità che esistono solo nell'ultima versione del driver, quindi quando utilizzi aggiornare i driver per i componenti del tuo computer, potresti correggere errori di runtime relativi all'hardware.
Reinstalla o ripara l'applicazione
Gli errori di runtime possono essere il risultato di file o dati dell'applicazione danneggiati. Pertanto, quando l'eseguibile del programma tenta di accedere ai dati necessari per funzionare, si verifica un errore perché i dati sono errati o mancanti.
Disinstallando l'applicazione e reinstallandola, puoi sovrascrivere i dati corrotti con una nuova copia. Potrebbe non essere necessario disinstallare prima l'applicazione. Molte app offriranno un'opzione di "riparazione" o "verifica" quando esegui nuovamente il programma di installazione o provi a disinstallare dalla sezione Programmi e funzionalità del Pannello di controllo.
Chiudi tutte le altre app
Gli errori di runtime causati da perdite di memoria o perché una particolare app richiede più memoria di quella disponibile possono essere mitigati chiudendo tutti i programmi non essenziali aperti. Potresti anche voler modificare la dimensione del file di scambio, per creare un po' più di respiro per le app che non entrano nella RAM.
Se sei sicuro che gli errori di runtime siano causati dalla capacità della memoria e non da una perdita di memoria, puoi anche considerare di aggiornare la quantità di RAM del tuo computer per gestire carichi di lavoro più pesanti.
Esegui Windows in modalità provvisoria o esegui un avvio parziale
Se sospetti che gli errori di runtime che stai riscontrando siano il risultato di driver o altre applicazioni software in background, puoi utilizzare la modalità provvisoria o un avvio pulito per confermarlo..
La modalità provvisoria è una modalità di avvio speciale di Windows che carica solo driver e servizi Windows minimi. Se il problema si risolve in modalità provvisoria, puoi essere abbastanza certo che il problema sia correlato ai driver (aggiornali) o a un servizio Windows. Consulta la nostra guida su come avviare in modalità provvisoria per vedere se è d'aiuto. In tal caso, potresti provare a disabilitare i servizi in Scheda Servizi MSConfig.
Un avvio pulito è quasi l'opposto della modalità provvisoria. Invece di caricare un sistema operativo minimo, Windows disabilita tutto il software di avvio di terze parti. Se un avvio pulito risolve l'errore di runtime, è probabile che sia necessario disabilitare, aggiornare o sostituire un'app di terze parti. Consulta la nostra guida su come eseguire un avvio pulito.
Aggiorna componenti runtime
Il software spesso dipende da librerie software condivise e componenti di runtime software standard. Se questi non sono installati, sono danneggiati o sono della versione sbagliata, possono causare problemi. Esempi di tali componenti runtime includono Pacchetto ridistribuibile di Microsoft Visual C++.
Puoi scaricare il file ridistribuibile VC++ richiesto dal sito Web di Microsoft, ma in genere è incluso nel software che lo richiede. Pertanto, reinstallare o riparare l'app dovrebbe ripristinare anche la libreria di runtime di Visual C++. Questo è uno dei problemi dei componenti runtime più facili da identificare, perché il messaggio di errore di runtime solitamente specifica che si tratta di un "errore di runtime C++".
Verifica file danneggiati
La corruzione dei dati si verifica quando gli uno e gli zeri che compongono un file vengono danneggiati o sovrascritti per qualche motivo. I danni ai file di sistema o dell'applicazione possono portare a errori di runtime imprevisti.
È possibile eseguire Controllo file di sistema di Windows (SFC) per verificare e riparare i danni ai file di sistema. Per le applicazioni, la maggior parte delle volte il programma di installazione avrà un'opzione di "riparazione" se lo esegui senza prima disinstallare l'app. Con client software come Vapore, puoi anche utilizzare l'opzione "verifica" sui tuoi giochi per verificare che i file siano ancora integri.
Esegui una scansione malware
Molti tipi di malware si inseriscono nel codice in esecuzione, corrompono file di dati o alterano file eseguibili. Tutto ciò può portare a errori di runtime. Per escludere il malware come motivo degli errori, esegui una scansione utilizzando il tuo software antivirus o antimalware preferito..
Esegui un test di memoria
Prima che il software in esecuzione arrivi alla CPU per l'elaborazione, si ferma nella RAM. Se la tua RAM è difettosa, ciò potrebbe causare errori di runtime difficili da rintracciare. Esegui un test di memoria e assicurati che non si tratti di un problema di inversione dei bit nei moduli di memoria!
.