Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Come individuare i problemi di corruzione della memoria in Win32

corruzione della memoria nel vostro software può essere molto frustrante per eseguire il debug . Aiuta , però, per capire che cosa provoca corruzione della memoria e come fare per risolverlo . La memoria può essere danneggiata da un sovraccarico del buffer , utilizzando la memoria non inizializzata , o cercando di leggere o scrivere a memoria non valida . Il programmatore deve trovare la fonte del problema e risolverlo. Cose che ti serviranno
Codice sorgente del programma
compilatore per codice sorgente
Show More Istruzioni
1

Ridurre la tua ricerca. Si tratta di un indizio che ci si sta muovendo nella giusta direzione, se non si riesce a riprodurre l'errore in cui una parte del codice viene impedito di correre . Se si utilizza Visual C + + , il debugger può aiutare si passa tramite il codice per trovare dove la corruzione si verifica .
2

pettine attraverso il codice sorgente . Dopo aver ridotto il problema a una sezione più piccola di codice, è necessario passare attraverso di essa e fare in modo che tutta la memoria di lettura e scrittura l'uso di memoria valida . Dichiarazioni di debug utilizzando funzioni come OutputDebugString per assicurarsi che i valori di memoria sono validi . Controllare per assicurarsi che i limiti della matrice siano rispettate e che la memoria viene inizializzato e non impostati su null o eliminati prima del suo utilizzo .
3

risolvere il problema. Una volta che hai trovato il problema , eliminarla. Se è un estraneo deallocazione di memoria , semplicemente rimuovere questa riga di codice . Assicurarsi che tutti gli array vengono utilizzati solo all'interno dei loro confini e che tutta la memoria accessibile direttamente viene inizializzata prima del suo utilizzo .
4

evitare che il problema si ripetano. A volte, utilizzando un gestore di memoria in modo che tutte le allocazioni di memoria e deallocazioni hanno un'interfaccia comune può aiutare a eliminare gli errori di corruzione della memoria . Si potrebbe desiderare di controllare ogni array di leggere o scrivere , in modo da poter garantire che sia entro limiti .

 

Programmazione © www.354353.com