“Conocimientos Programación>C /C + + Programming

Cómo depurar los problemas de corrupción de memoria en Win32

2015/8/15
corrupción de memoria en el software puede ser muy frustrante para depurar . Ayuda , sin embargo, para entender las causas de corrupción de memoria y cómo ir sobre él se fijan . La memoria puede ser corrompida por una saturación del buffer, usando la memoria sin inicializar , o tratando de leer o escribir en la memoria no válida. El programador tiene que encontrar el origen del problema y solucionarlo. Cosas que necesitará
código fuente del programa de descarga del compilador de código fuente
Mostrar más instrucciones
1

Reducir su búsqueda . Es un indicio de que usted está dirigiendo en la dirección correcta si no reproducir el error cuando una parte del código se evita que se ejecute . Si está utilizando Visual C + + , el depurador puede ayudarle a recorrer el código para encontrar donde sucede la corrupción.
2

Peine a través del código fuente. Una vez que haya reducido el problema a una sección más pequeña de código, debe pasar por ella y asegurarse de que toda la memoria lee y escribe en la memoria válido uso. Declaraciones depuración utilizando funciones como OutputDebugString para asegurarse de que los valores de la memoria son válidas . Compruebe para asegurarse de que límites de la matriz se cumplen y que la memoria se inicializa y no establece como nulo o eliminados antes de su uso.
3

arreglar el problema. Una vez que haya encontrado el problema , eliminarlo. Si se trata de una desafectación extraña de la memoria , basta con quitar esa línea de código . Asegúrese de que todas las matrices sólo se utilizan dentro de sus límites y que toda la memoria directamente visitada se inicializa antes de su uso.
4

evitar que el problema vuelva a ocurrir . A veces, el uso de un gestor de memoria de modo que todas las asignaciones y cancelaciones de asignación de memoria tienen una interfaz común puede ayudar a eliminar los errores de corrupción de memoria . Es posible que desee comprobar cada array leer ni escribir , por lo que puede garantizar que esté dentro de los límites.

C /C + + Programming
Cómo eliminar a + + Montón C Corrupt
¿Qué es Scarlett Fever
Cómo ocultar los botones en Xcode
Cómo utilizar Copia de constructores en C + +
Cómo convertir Ttf Fuente para PCL
¿Cómo representar una ficha en una cadena en CPP
Cómo dividir una cadena en C
Cómo crear archivos Pyc para correr sobre Web
Conocimientos Informáticos © http://www.ordenador.online