Se produjo una excepción en la aplicación. ¿Qué significa excepción de software desconocido?
o, cuando un programa necesita un bloque de memoria para guardar datos , llamará a la "función" proporcionada por el sistema operativo para solicitar la memoria. Si la asignación de memoria es exitosa, la función devolverá la dirección del área de memoria recién abierta a la aplicación, y la aplicación podrá usar la memoria a través de esta dirección. Esto se denomina "asignación de memoria dinámica" y las direcciones de memoria también se denominan "punteros" en programación.
La asignación de memoria también puede fallar. Cuando la asignación falla, la función del sistema devuelve un valor de 0. El valor de retorno 0 ya no representa un puntero recién habilitado, sino más bien una notificación del sistema a la aplicación de que se ha producido un error. Como aplicación, debe verificar si el valor de retorno es 0 después de cada solicitud de memoria. Si es 0, significa que ocurrió una falla y debe tomar algunas medidas para guardarlo, mejorando así la "robustez" del programa.
Si la aplicación no busca este error, "piensa" que el valor es un puntero libre a la memoria asignada y continúa usando esa memoria durante el resto de la ejecución. El área de memoria real en la dirección 0 almacena la "tabla de descriptores de interrupción" más importante del sistema informático y las aplicaciones nunca pueden usarla. En un sistema operativo sin un mecanismo de protección (como DOS), escribir datos en esta dirección provocará un bloqueo inmediato. En un sistema operativo potente como Windows, esta operación será capturada inmediatamente por el mecanismo de protección del sistema, provocando que el sistema operativo. forzar el cierre de la aplicación infractora para evitar que se expanda. Como resultado, el sistema operativo fuerza el cierre de la aplicación para evitar que el error se expanda. En este caso, se produce el error de "memoria de escritura" anterior e indica que la dirección de memoria a la que se hace referencia es "0x00000000".
O bien, el programa está intentando leer o escribir una sección de memoria que "debería estar disponible", pero por alguna razón el puntero disponible esperado no es válido. El programa puede "olvidarse" de pedirle al sistema operativo que asigne memoria, o el propio programa puede cancelar el registro de la memoria en algún momento sin "notarse", etc. La memoria es recuperada por el sistema. Una vez que el sistema recupera la memoria no registrada, sus derechos de acceso ya no pertenecen a la aplicación. Por lo tanto, las operaciones de lectura y escritura también activarán el mecanismo de protección del sistema. El único resultado para un programa que intenta "violar la ley" es. será cancelado y todos los recursos serán reclamados. ¡Las leyes del mundo de la informática siguen siendo mucho más efectivas y estrictas que las leyes de los humanos! Situaciones como ésta son errores en el propio programa y, por lo general, el error se puede reproducir en una secuencia específica de operaciones. Los punteros no válidos no siempre son 0, por lo que la dirección de memoria en el mensaje de error no siempre es "0x00000000", sino algún otro número aleatorio.
Solución:
1. Comprobar si hay troyanos o virus en el sistema. Estos programas a menudo modifican irresponsablemente el sistema para lograr el propósito de controlarlo, provocando anomalías en el sistema operativo. En circunstancias normales, debe fortalecer su conciencia sobre la seguridad de la información y nunca sentir curiosidad por los programas ejecutables de origen desconocido
2. Actualice el sistema operativo para que el programa de instalación del sistema operativo vuelva a copiar la versión correcta. los archivos del sistema y los parámetros correctos del sistema. A veces puede haber errores en el propio sistema operativo, así que asegúrese de instalar actualizaciones oficiales.
3. Pruebe una nueva versión de la aplicación.