La memoria "0x01c776e3" a la que hace referencia la instrucción 0x022a2cce. La memoria no se puede leer.
1. La aplicación no verificó el error de asignación de memoria.
Cuando el programa necesita un trozo 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, la versión no coincidente 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.
Problema
Al ejecutar ciertos programas, a veces aparece un mensaje de error de memoria y luego el programa se cierra.
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.
Análisis de fallas
Hardware:
En términos generales, la posibilidad de problemas de memoria no es alta. Los aspectos principales son: el módulo de memoria está roto, la memoria. Hay problemas de calidad y si se mezclan dos marcas diferentes de memoria con diferentes capacidades, es fácil que sean incompatibles. Al mismo tiempo, también se debe prestar atención a los problemas de disipación de calor, especialmente después del overclocking. Puede utilizar el software MemTest para probar la memoria, lo que puede detectar minuciosamente la estabilidad de la memoria.
Si este problema ocurre si tiene módulos de memoria duales y se mezclan módulos de memoria de diferentes marcas o compra memoria de segunda mano, entonces debe verificar si hay un problema con la memoria o si incompatible con otro hardware.
Aspecto del software:
Hablemos brevemente sobre el principio: hay un lugar para almacenar datos en la memoria llamado búfer. Cuando el programa coloca los datos en una de las ubicaciones, debido a que no hay suficiente espacio, se producirá un desbordamiento. Por ejemplo: un balde sólo puede contener un kilogramo de agua. Cuando se le echan dos kilogramos de agua, se desbordará. El sistema está representado en la pantalla. Este problema ocurre a menudo en Windows 2000 y en la situación anterior. Además, también puede deberse a una mala compatibilidad entre dispositivos de hardware.
Algunos ejemplos
Ejemplo 1: Abra el navegador IE o en unos minutos aparecerá la memoria "0x00000000" a la que hace referencia el comando "0x70dcf39f". Esta memoria no se puede "leer". Para finalizar el programa, haga clic en el cuadro de mensaje "Aceptar". Después de hacer clic en "Aceptar", aparece el cuadro de mensaje "Se ha producido un error interno y una de las ventanas que está utilizando está a punto de cerrarse". Después de cerrar el mensaje, IE. navegador El dispositivo también está apagado.
Solución: reparar o actualizar el navegador IE y aplicar un parche al mismo tiempo. Uno de los métodos de reparación que he visto es la actualización automática de Win2000, es decir, actualizar Win2000 a Win2000. De hecho, este método consiste en restaurar el sistema a su estado inicial. Por ejemplo, si su IE se actualiza a 6.0, será reemplazado por IE5.0 después de la actualización.
Ejemplo 2: Haga doble clic en el archivo "AutoRun.exe" en el CD en Windows XP y se mostrará la memoria "0x00000078" a la que hace referencia el comando "0x77f745cc". La memoria no se puede "escribir". Para finalizar el programa, haga clic en "Aceptar", pero se ejecuta normalmente en Windows 98.
Solución: Esto puede ser un problema de compatibilidad del sistema Para sistemas winXP, haga clic con el botón derecho en el archivo "AutoRun.exe", propiedades, compatibilidad, seleccione el elemento "Ejecutar este programa en modo de compatibilidad" y seleccione. "Windows 98/Me". Si win2000 está parcheado con SP, simplemente inicie y ejecute, ingrese: regsvr32 c:\winnt\apppatch\slayerui.dll. También aparecerán las opciones de clic derecho, propiedades y compatibilidad.
Ejemplo 3: Ocurrió un error al cerrar RealOne Gold. Se había usado normalmente antes, pero recientemente aparecía la memoria "0xffffffff" a la que hace referencia el comando "0xffffffff" cada vez que se cerraba. La memoria no se puede "leer".
Solución: Este problema ocurrirá cuando RealOne esté cerrado cuando el método de entrada utilizado sea Microsoft Pinyin Input Method 2003 y la barra de idioma esté oculta (no hay problema cuando no está oculta), por lo que el idioma se puede mostrar antes de cerrar. barra RealOne o convierta cualquier otro método de entrada en el método de entrada actual para resolver este problema.
Ejemplo 4: My Hero Super Jieba no se puede jugar desde que se conectó. Cada vez que aparece "Ox060692f6" (cada cambio), la memoria "Oxff000011" a la que hace referencia el comando no se puede "leer" ni cancelar. Haga clic en Aceptar para continuar.
Solución: Intenta reinstalar Hero Super Jieba. Si el problema persiste después de la reinstalación, ve al sitio web oficial para descargar la versión correspondiente del parche e inténtalo. Si todavía no funciona, tengo que probar con otro reproductor.
Ejemplo 5: haga doble clic en el acceso directo de un juego, el comando "Ox77f5cdO" hace referencia a la memoria "Oxffffffff", la memoria no se puede "leer" y se genera un error del programa Client.dat.
Solución: reinstale el controlador más reciente para la tarjeta gráfica, luego descargue e instale DirectX9.0.
Ejemplo 6: Un amigo envió un mensaje y apareció un mensaje de error en mi computadora: la memoria "0*00303033" a la que hace referencia el comando "0*772b548f" no se puede "escribir", y luego QQ Cerré sesión automáticamente, luego abrí QQ y encontré más de una docena de mensajes enviados por él.
Solución: Este es un ERROR de la otra parte al usar QQ, enviar códigos especiales y cometer errores de QQ. Siempre que aplique un parche o actualice a la última versión, todo estará bien.
Ejemplo 7: Mi computadora portátil usa el sistema XP. A veces, al cerrar una página web, aparece tbrowser.exe. Encuentra un problema y es necesario cerrar la memoria 0x03e7c738 a la que hace referencia 0x03e7c738. Aparecerá una instrucción. Esta memoria no se puede leer.
Solución: primero compruebe si hay virus y, si ha instalado un software de mejora de la navegación, desinstálelo.
Ejemplo 8: Al abrir cualquier programa desde el escritorio o menú inicio aparece un mensaje de error: La instrucción "0x..." hace referencia a la memoria "0x00000000", la cual no se puede "leer". Las elipses representan valores variables. Y abrir el programa para que no se ejecute no es un problema.
Solución: ejecute regedit para ingresar al registro. En HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks, solo debe haber un valor de clave normal "{AEB6717E-7E19-11d0-97EE-00C04FD91972". }, elimine las demás (por supuesto, no elimine las claves predeterminadas)
Ejemplo 9: configuré una máquina hace tres meses y el sistema es relativamente inestable y lo he reinstalado muchas veces en tres meses. Se instaló hace cuatro o cinco días, pero los errores de la aplicación Explorer a menudo ocurren aleatoriamente. La memoria "0x00000000" a la que hace referencia el comando "0x4a01259d" no se puede "leer". Para finalizar el programa, haga clic en "Aceptar". el programa, haga clic en "Cancelar". Si hace clic en Aceptar, el escritorio de Windows desaparecerá. Este problema también ocurrió en sistemas anteriores. Me pregunto si es un problema de hardware.
Método de solución: compatibilidad de memoria. ¡Problema! Si encuentra este tipo de problema, puede abrir la máquina y ajustar la ubicación de la memoria para ver si el problema persiste, puede intercambiar la memoria con su amigo. A través de los ejemplos anteriores, podemos ver que hay muchas razones para el error. Las razones mencionadas y posibles se enumeran a continuación para facilitar la consulta.
Las razones del problema: Solución
. El módulo de memoria está roto: reemplace el módulo de memoria
La memoria dual no es compatible: use la misma marca de memoria o use solo un módulo de memoria
Problema de calidad de la memoria: reemplace el módulo de memoria
Problema de disipación de calor - Mejore la disipación de calor dentro del chasis
La memoria y la placa base no están conectadas correctamente o son incompatibles con otro hardware, etc. - Vuelva a insertar la memoria o cámbielo Ups
Hay un problema con el disco duro; reemplace el disco duro
Hay un problema con el controlador: reinstale el controlador Si es un sistema nuevo, debe hacerlo. instale primero el controlador de la placa base
El software está dañado - - Reinstale el software
El software tiene errores: parcheelo o use la última versión
El software. no es compatible con el sistema: parchee el software o pruebe el modo de compatibilidad del sistema.
Hay un conflicto entre el software; si se instaló algún software nuevo recientemente, intente desinstalarlo
Si el software utiliza otro software relacionado y hay un problema, reinstale el software relacionado.
Por ejemplo, si se produce un error al reproducir un archivo de un determinado formato, puede haber un problema con el decodificador de ese archivo
Problema de virus - antivirus
Antivirus El software entra en conflicto con el sistema o el software, debido a que el software antivirus ingresa al sistema de monitoreo subyacente. Puede entrar en conflicto con algún software. Intente desinstalarlo.
Hay un problema con el sistema en sí, a veces existe. Habrá errores en el propio sistema operativo. Preste atención a la instalación del programa de actualización oficial, como Es mejor aplicar el parche SP. Si eso aún no funciona, reinstale el sistema o cambie a otra versión del sistema.
Este problema ha llamado nuestra atención y tenemos una solución. Visite nuestro sitio web oficial para conocer y descargar los programas relevantes.
Al ejecutar algunos 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".
Creo que todos han visto la situación anterior, y algunos internautas incluso han reinstalado el sistema repetidamente porque no estaban contentos con este mensaje de error que aparecía con frecuencia. Creo que los usuarios normales no entenderán esos complicados códigos hexadecimales.
Hay muchos aspectos de este fenómeno. Uno es el hardware, es decir, los problemas de memoria, y el otro es el software.
1: Hablemos primero del hardware:
En términos generales, el hardware de la computadora no es fácil de romper. La posibilidad de problemas de memoria no es alta (a menos que su memoria sea realmente una basura. Los aspectos principales son: 1. El módulo de memoria está roto (principalmente memoria de segunda mano), 2. Se utiliza memoria con problemas de calidad, 3. La parte del dedo dorado donde se inserta la memoria en la placa base tiene demasiado polvo. 4. Utilice diferentes marcas de memoria con diferentes capacidades, lo que genera incompatibilidad. 5. Problemas de disipación de calor causados por el overclocking. Puede utilizar el software MemTest para probar la memoria, lo que puede detectar minuciosamente la estabilidad de la memoria.
2. Si no hay ningún problema, solucione el problema del software.
Hablemos primero del principio: hay un lugar en la memoria para almacenar datos llamado búfer. Cuando el programa coloca los datos en el búfer, necesita la "función funcional" proporcionada por el sistema operativo. para aplicar Si la asignación de memoria es exitosa, la función La dirección del área de memoria recién abierta se devolverá 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 representa el 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 el 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 "lectura" de la memoria mencionada anteriormente y se indicará 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 cambian los archivos.
En aplicaciones que utilizan asignación dinámica, a veces habrá una situación en la que el programa intenta leer y escribir una parte de la memoria que "debería estar disponible", pero por alguna razón, el cursor 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, 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.
Primeras sugerencias:
1. Comprobar 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 permita 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. Intente utilizar la última versión oficial de la aplicación, la versión Beta, la versión de prueba tendrá ERRORES.
4. Elimine y luego vuelva a crear los archivos en la carpeta Winnt\System32\Wbem\Repository: haga clic derecho en Mi PC en el escritorio y haga clic en Administrar. En Servicios y aplicaciones, haga clic en Servicios y luego cierre y detenga el servicio Instrumental de administración de Windows. Elimine todos los archivos en la carpeta Winnt\System32\Wbem\Repository. (Cree una copia de seguridad de estos archivos antes de eliminarlos). Abra Servicios y aplicaciones, haga clic en Servicios y luego abra e inicie el servicio Instrumental de administración de Windows. Cuando se reinicie el servicio, estos archivos se volverán a crear según la información proporcionada en la siguiente clave de registro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\Autorecover MOFs
A continuación se recopilan algunos ejemplos para su análisis. :
Ejemplo 1: La memoria "0x03713644" a la que hace referencia la instrucción "08ba9ef" aparece en el navegador IE, o la memoria "0x00000000" a la que hace referencia la instrucción "0x70dcf39f". Esta memoria no se puede "leer". Para finalizar el programa, haga clic en el cuadro de mensaje "Aceptar". Después de hacer clic en "Aceptar", aparece el cuadro de mensaje "Se ha producido un error interno y una de las ventanas que está utilizando está a punto de cerrarse". Después de cerrar el mensaje, IE. navegador El dispositivo también está apagado. Solución:
1. En la ventana Iniciar-Ejecutar, ingrese "regsvr32 actxprxy.dll" y presione Entrar, luego aparecerá un cuadro de diálogo con el mensaje "DllRegisterServer en actxprxy.dll tuvo éxito", OK. Luego ejecute los siguientes comandos en secuencia. (Algunas personas dicen que este método es innecesario, pero volver a registrar esos .dll no daña el sistema. De todos modos, es suficiente resolver el problema tomando varias medidas).
regsvr32 shdocvw.dll
regsvr32 oleaut32.dll
regsvr32 actxprxy.dll
regsvr32 mshtml.dll
regsvr32 msjava.dll
regsvr32 browserui.dll
regsvr32 urlmon.dll
2. Repare o actualice el navegador IE y aplique parches del sistema. Uno de los métodos de reparación que he visto es restaurar el sistema a su estado inicial. Se recomienda actualizar IE a 6.0.
Ejemplo 2: Algunos errores de aplicación: la instrucción "0x7cd64998" hace referencia a la memoria "0x14c96730". Esta memoria no se puede "leer".
Solución: utilice la tecnología de optimización de Win "Memory Image" y guarde esta información en la carpeta Windows\Prefetch. 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. Se recomienda reemplazar la memoria virtual, eliminar todos los archivos *.PF en el directorio Windows\Prefetch y dejar que Windows vuelva a recopilar la dirección física del programa.
Ejemplo 3: haga doble clic en el archivo "AutoRun.exe" en el CD en XP y se mostrará la memoria "0x00000078" a la que hace referencia el comando "0x77f745cc". La memoria no se puede "escribir". Para finalizar el programa, haga clic en "Aceptar", pero se ejecuta normalmente en Windows 98. Solución: Esto puede ser un problema de compatibilidad del sistema. Para sistemas WinXP, haga clic con el botón derecho en el archivo "AutoRun.exe", propiedades, compatibilidad, seleccione el elemento "Ejecutar este programa en modo de compatibilidad" y seleccione "Windows 98/Me". Si win2000 está parcheado con SP, simplemente inicie y ejecute, ingrese: regsvr32 c:\winnt\apppatch\slayerui.dll. También aparecerán las opciones de clic derecho, propiedades y compatibilidad.
Ejemplo 4: Ocurrió un error al cerrar RealOne Gold. Se había usado normalmente antes, pero recientemente aparecía la memoria "0xffffffff" a la que hace referencia el comando "0xffffffff" cada vez que se cerraba. La memoria no se puede "leer". Solución: Este problema ocurrirá cuando RealOne esté cerrado cuando el método de entrada utilizado sea Microsoft Pinyin Input Method 2003 y la barra de idioma esté oculta (no hay problema cuando no esté oculta). Por lo tanto, se puede mostrar la barra de idioma o cualquier otro método de entrada. se muestra antes de cerrar RealOne como método de entrada actual para resolver este problema.
Ejemplo 5: My Hero Super Jieba ya no se puede jugar desde Internet. Cada vez que aparece "0x060692f6" (cada cambio), la memoria "0xff000011" a la que hace referencia el comando no se puede "leer". terminado. Haga clic en Aceptar para continuar. Solución: intente reinstalar Hero Super Jieba. Si el problema persiste después de reinstalar, vaya al sitio web oficial para descargar la versión correspondiente del parche e inténtelo. Si todavía no funciona, tengo que probar con otro reproductor.
Ejemplo 6: Haga doble clic en el acceso directo de un juego. El comando "0x77f5cd0" hace referencia a la memoria "0xffffffff". La memoria no se puede "leer" y se genera un error en el programa Client.dat. Solución: reinstale el controlador más reciente para la tarjeta gráfica, luego descargue e instale DirectX9.0.
Ejemplo 7: Un amigo envió un mensaje y apareció un mensaje de error en mi computadora: la memoria "0x00303033" a la que hace referencia el comando "0x772b548f" no se puede "escribir", y luego QQ se desconectó automáticamente. Y cuando volví a abrir QQ, encontré más de una docena de mensajes enviados por él. Solución: Este es un ERROR de la otra parte al usar QQ, enviar códigos especiales y cometer errores de QQ. Siempre que aplique un parche o actualice a la última versión, todo estará bien.