Red de conocimientos turísticos - Conocimientos sobre calendario chino - La memoria es 00X000000, ¿qué está pasando?

La memoria es 00X000000, ¿qué está pasando?

Las personas que usan el sistema operativo Windows a veces encuentran este mensaje de error: "La instrucción 0X hace referencia a la memoria de 0x00000000. La memoria no se puede escribir", y luego se cierra la aplicación. De hecho, este error no se debe necesariamente a la inestabilidad de Windows. Este artículo analizará brevemente las causas comunes de este error.

1. La aplicación no verificó el error de asignación de memoria.

Cuando el programa necesita una parte de memoria para guardar datos, necesita llamar a la "función función" proporcionada por el operador. sistema a aplicar. Si la asignación de memoria tiene éxito, la función devolverá la dirección del área de memoria recién abierta al programa de aplicación, y el programa de aplicación puede usar esta memoria a través de esta dirección. Esto es "asignación de memoria dinámica", y la dirección de memoria también es el "puntero" en la programación.

La memoria no siempre está disponible y es inagotable y, en ocasiones, la asignación de memoria falla. Cuando la asignación falla, la función del sistema devolverá un valor 0. En este momento, el valor de retorno "0" ya no representa el puntero recién habilitado, sino una notificación enviada por el sistema a la aplicación, informándole que se ha producido un error. ocurrió. Como aplicación, debe verificar si el valor de retorno es 0 después de cada solicitud de memoria. Si es así, significa que ha ocurrido una falla y se deben tomar algunas medidas para salvarla. Esto mejora la "robustez" del programa.

Si la aplicación no verifica este error, pensará que este valor es un puntero utilizable asignado según la "inercia del pensamiento" y continuará usando esta memoria en ejecuciones posteriores. 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 no pueden utilizarla en absoluto. En un sistema operativo sin un mecanismo de protección (como DOS), escribir datos en esta dirección provocará una falla inmediata. En un sistema operativo robusto, como Windows, esta operación será capturada inmediatamente por el mecanismo de protección del sistema y el resultado. es El sistema operativo cierra a la fuerza la aplicación errónea para evitar que el error se propague. En este momento, aparecerá el error de "memoria de escritura" mencionado anteriormente, que indica que la dirección de memoria a la que se hace referencia es "0x00000000".

Hay muchas razones por las que falla la asignación de memoria. La memoria insuficiente, las versiones no coincidentes de las funciones del sistema, etc., pueden tener un impacto. Por lo tanto, este tipo de falla en la asignación es más común después de que el sistema operativo se ha utilizado durante mucho tiempo, después de que se han instalado una variedad de aplicaciones (incluidos programas de virus que se "instalaron" inadvertidamente) y una gran cantidad de parámetros y parámetros del sistema. Los archivos del sistema han sido modificados.

2. La aplicación hace referencia a un puntero de memoria anormal debido a su propio error.

En aplicaciones que usan asignación dinámica, a veces habrá una situación como esta: el programa intenta leer y escriba un bloque de memoria "Debería estar disponible", pero por alguna razón, el puntero disponible esperado ha caducado. Puede ser que "se haya olvidado" de solicitar la asignación al sistema operativo, o puede ser que el propio programa haya cerrado sesión en esta memoria en algún momento sin "prestar atención", etc. El sistema recupera la memoria no registrada y 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 destino de un programa que intenta ser "ilegal" es ser terminado. por la operación y todos los recursos serán recuperados. ¡Las leyes en el mundo de la informática siguen siendo mucho más efectivas y estrictas que las de los humanos!

Situaciones como esta son todos errores en el programa en sí y, a menudo, puedes reproducir el error 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 es necesariamente "0x00000000", sino otros números aleatorios.

Si el sistema presenta con frecuencia el mensaje de error mencionado, las siguientes sugerencias pueden ser útiles:

1. Compruebe si hay troyanos o virus en el sistema. Estos programas a menudo modifican irresponsablemente el sistema para controlarlo, provocando anomalías en el sistema operativo. Siempre 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 y deje que el programa de instalación del sistema operativo vuelva a copiar la versión correcta de los archivos del sistema y corrija los parámetros del sistema. A veces, el propio sistema operativo puede tener errores, así que asegúrese de instalar el programa de actualización oficial.

3. Prueba la nueva versión de la aplicación.

3. Soluciones

1. Consejos para problemas:

Al ejecutar ciertos programas, a veces aparecerá un mensaje de error de memoria y luego el programa se cerrará. .

La memoria "0x" a la que hace referencia la instrucción "0x". Esta memoria no se puede "leer".

La memoria "0x" a la que hace referencia la instrucción "0x" no se puede "escribir".

Generalmente este fenómeno se da por varios motivos uno es el hardware, es decir, hay un problema con la memoria, y el otro es el software, que tiene muchos problemas.

2. Análisis de fallas:

a..Aspecto de hardware:

En general, la posibilidad de problemas de memoria no es alta. Los aspectos principales son: El. El módulo de memoria está roto, la calidad de la memoria es defectuosa y hay dos módulos de memoria de diferentes marcas y capacidades conectados entre sí. Es más probable que se produzcan incompatibilidades. Al mismo tiempo, se debe prestar atención a los problemas de disipación de calor. El problema de que la memoria no se puede leer es un problema muy grave. Los problemas complejos se deben a muchos factores, incluidos motivos de hardware y software, que son difíciles de resolver en poco tiempo. Incluso para aquellos veteranos que juegan juegos de computadora todo el día, también es un problema muy difícil. Desde mi punto de vista personal, la mayoría de ellos están relacionados con la inestabilidad provocada por el uso de sistemas no originales, que son fáciles y difíciles de reparar. Entonces, mi opinión general es que mientras no suceda con frecuencia, no necesita preocuparse y simplemente haga clic en "Aceptar" o "Cancelar".

>Red de conocimientos turísticos All Rights Reserved.