Procesamiento del error de falla de segmentación en la programación de Linux

  

Algunos desarrolladores han programado un proceso en Linux y encontraron un error de falla de segmentación al depurar con GDB. Este error se debe principalmente al acceder al segmento de memoria incorrecto. Puede ser que no haya permiso o que el segmento de memoria no exista. ¿Cómo lidiar con este problema?

sigue:

Este error es el resultado de la forma en que? Resulta que se define un puntero de tipo char, y luego la cadena está directamente relacionada con el puntero. Por ejemplo:

char * c1;

para (i = 0; i "n; i ++)

{

* c1 = getchar ();

c1 ++;

}

El código significa que este es el caso, este es un problema que harán muchos desarrolladores. Este puntero es peligroso, tenga cuidado, simplemente tómelo aquí, así que asigne punteros, no sabemos a dónde apunta este puntero, si los datos escritos cubren datos de área críticos, puede tener consecuencias catastróficas, Aquí es donde debes visitar. ¿Cuál es la solución? Indique a este puntero dónde está. Uso malloc para solicitar un espacio para la cadena a la que apuntará el puntero. Esto indicará que el sistema asigna un espacio seguro y no dividirá el área crítica de la memoria. Para ti De esta manera usted puede operar de manera segura.

Este ejemplo nos dice que no se pueden usar los punteros. Si el puntero apunta a la memoria incorrecta, causará un error de Segmentación durante la programación. También puede usar el método anterior. Si apunta a otras áreas, resultará más grave. Consecuencias.

Copyright © Conocimiento de Windows All Rights Reserved