Red de conocimiento informático - Conocimiento del nombre de dominio - Urgente, urgente, ¿quién me puede decir qué hacer?

Urgente, urgente, ¿quién me puede decir qué hacer?

Las personas que usan sistemas operativos Windows a veces encuentran este tipo de mensajes de error:

"La instrucción "0X" se refiere a la memoria "0x00000000". Esta memoria no se puede "leer" ni "escribir". "" y luego se cierra la aplicación.

Si pides consejo a algunos "expertos", la respuesta que obtienes suele ser indignación y desdén, como "Windows es muy inestable". 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ó la falla de asignación de memoria

Cuando el programa necesita una parte de memoria para almacenar datos, necesita usar la "función función" proporcionada por el sistema operativo 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 es el "cursor" en la programación. La memoria no siempre está disponible y es inagotable y, a veces, la asignación de memoria falla. Cuando la asignación falla, la función del sistema devolverá un valor de 0. En este momento, el valor de retorno "0" ya no indica un cursor recién habilitado, sino una notificación enviada por el sistema a la aplicación para informarle que se ha producido un error. ha ocurrido. 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 cursor disponible que se le asignó según la "inercia de 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. Sin embargo, 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 que el sistema operativo cierra a la fuerza la aplicación errónea para evitar que el error se expanda. 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 instalan una variedad de aplicaciones (incluidos programas de virus que se "instalan" inadvertidamente) y una gran cantidad de parámetros y sistemas del sistema. se modifican los archivos.

2. La aplicación hace referencia a un cursor 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 o escribir inesperadamente Un fragmento de memoria que "debería estar disponible", pero por alguna razón, el cursor que se esperaba que estuviera disponible dejó de ser válido. 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, puede reproducir el error en una secuencia específica de operaciones. El cursor no válido no siempre es 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 muestra con frecuencia los mensajes de error mencionados anteriormente, las siguientes sugerencias pueden ser útiles:

1. Verifique el sistema en busca de troyanos o virus. 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.

Método: Reemplazar la memoria virtual

Adicional: Si usa Ghost para restaurar el sistema operativo, se recomienda eliminar todos los archivos *.PF en el directorio WINDOWS\PREFETCH porque Windows necesita Para recuperar la memoria física del programa, la instrucción "0x7cd64998" del error de algunas aplicaciones se refiere a la memoria "0x14c96730". Esta es la razón por la que no se puede inferir la memoria "leída"

Fuente: tecnología de "lectura previa" de Win XP

Esta tecnología de optimización también se utiliza en el software de aplicación, analiza el sistema. los primeros inicios de cada software de aplicación, luego agrega una "imagen de memoria" virtual que describe los requisitos de la aplicación y almacena esta información en la carpeta WINDOWSPREFETCH. Una vez creada la imagen, el software de la aplicación se carga mucho más rápido. Los datos de captación previa de XP almacenan la información de los últimos 8 inicios del sistema o del software de aplicación.