Red de conocimientos turísticos - Pronóstico del tiempo - Instrucciones que aparecen mientras se juega.

Instrucciones que aparecen mientras se juega.

La memoria no se puede "leer" ni "escribir". Solución:

Algunas personas recibirán el mensaje de error de que la memoria no se puede "leer" cuando ejecutan el programa de carreras. Espero que el siguiente artículo pueda ayudarte.

Las personas que utilizan sistemas operativos Windows a veces encuentran mensajes de error como este. Al ejecutar algunos programas, a veces aparecerá un mensaje de error de memoria y luego el programa se cerrará automáticamente o hará clic para cerrar. En casos graves, es posible que no pueda cerrarse.

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

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

Me pregunto si alguna vez has experimentado una ruptura así. (El contenido después de 0x puede ser diferente).

En términos generales, este fenómeno tiene dos aspectos. Primero, hay un problema con el hardware, concretamente con la memoria. El segundo es el software, que tiene muchos problemas.

1. Provocado por una vulnerabilidad de desbordamiento del búfer de Microsoft IE

2. Los conflictos en el uso de la memoria o de las direcciones de memoria virtual llevan a la necesidad de asignar una determinada dirección de memoria para el funcionamiento del sistema. programa. Cuando finaliza un programa, se libera espacio para que lo utilicen nuevos programas. win es un sistema multitarea. A veces, antes de que finalice el programa y comience una nueva tarea, ¿cuánta memoria o memoria virtual necesitamos para asegurarnos de que las tareas se ejecuten al mismo tiempo? Puede ser que win no haga un buen trabajo con este problema, por lo que este error ocurre con frecuencia. Este error generalmente ocurre después de ejecutar software o multimedia de gran tamaño.

3. Los módulos de memoria inferiores también tendrán este problema. En general, los problemas de memoria son poco probables. Los aspectos principales son: el módulo de memoria está roto, la calidad de la memoria es defectuosa y hay dos marcas diferentes de memoria con diferentes capacidades, por lo que la posibilidad de incompatibilidad es relativamente alta. Al mismo tiempo, asegúrese de prestar atención a los problemas de disipación de calor, especialmente después del overclocking. Puede utilizar el software MemTest para verificar la memoria, lo que puede verificar minuciosamente la estabilidad de la memoria. Este problema ocurre si tienes RAM dual y mezclas diferentes marcas de chips de memoria o si compras RAM de segunda mano. En este momento, debe verificar si hay algún problema con la memoria o si es incompatible con otro hardware.

4. Vulnerabilidades del sistema Microsoft Windows. Windows especifica la dirección de memoria 0X00000000 a 0X0000ffff como rango de direcciones para asignar punteros nulos. Si un programa intenta acceder a esta dirección, se considera un error. Los programas escritos en c/c generalmente no realizan una verificación estricta de errores. Cuando se usa malloc para asignar memoria y no hay suficiente espacio de direcciones para la asignación, se devolverá un puntero nulo. Sin embargo, el código no verifica este error y cree que la asignación de dirección se realizó correctamente, por lo que se accede a la dirección 0X00000000, por lo que se produce una infracción de acceso a la memoria y se finaliza el proceso. Cuando un archivo pif se llena con caracteres ascii, ocurre la siguiente situación: un archivo pif ilegal (lleno con caracteres ASCII \''x\ ' ') debe tener al menos 369 bytes antes de que el sistema lo considere un archivo pif legal, y Luego se mostrará como un ícono pif y luego el programa, la fuente, la memoria, la pantalla y otros contenidos aparecerán en las propiedades. Además, al mirar la página "Programa" de las propiedades, el error del programa no aparece, incluso si el tamaño del archivo que no es pif es de 369 bytes, incluso si es de 370 bytes. Al visualizar la página de propiedades "Programa" de un archivo pif ilegal de más de 369 bytes, Explorer dará un error y le preguntará: \' * * * \ 'Memoria a la que hace referencia la instrucción. No se puede "leer" la memoria. El problema está en las 16 direcciones hexadecimales del archivo pif: 0x 00000181 [0x 87] 0x 00000182 [0x 001] y 0x00000236544. Siempre que los valores de 0x00000181 y 0x00000182 se cambien a [0xff], cualquier cambio en otras direcciones no provocará errores.

5. Es posible que el servicio Apache no se instale e inicie completamente correctamente. Cambie OracleOraHomeXXHTTPServer en el servicio para detenerlo.

6. La aplicación no comprobó si había un error en la asignación de memoria.

Cuando un programa necesita una parte de la memoria para guardar datos, debe llamar a la "función" proporcionada por el sistema operativo para aplicarla. 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 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 un "puntero" 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 devuelve el valor 0. En este punto, el valor de retorno "0" ya no indica un puntero recién habilitado, sino una notificación enviada por el sistema a la aplicación indicando que se ha producido un error. Como aplicación, debes verificar si el valor de retorno es 0 después de cada aplicación de memoria. Si es así, significa que hay un fallo y es necesario tomar algunas medidas para salvarlo, lo que mejora la "robustez" del programa. Si la aplicación no verifica este error, asumirá que el valor es un puntero libre asignado en función de la "inercia del pensamiento" y continuará usando esta memoria en operaciones posteriores. El área de almacenamiento de direcciones 0 reales almacena la "tabla de descriptores de interrupción" más importante en el sistema informático, que las aplicaciones no pueden utilizar en absoluto. En un sistema operativo sin mecanismo de protección (como DOS), escribir datos en esta dirección provocará un bloqueo inmediato, mientras que 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 la operación El sistema cerrará forzosamente la aplicación errónea para evitar que el error se expanda. En este momento, se producirá el error de "memoria de escritura" mencionado anteriormente, lo 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, como memoria insuficiente, discrepancia en la versión de la función del sistema, etc. Por lo tanto, este tipo de error de asignación es más común después de que el sistema operativo se ha utilizado durante mucho tiempo, se instalan una variedad de aplicaciones (incluidos programas de virus instalados involuntariamente) y se cambia una gran cantidad de parámetros y archivos del sistema.

7. Debido a un error propio de la aplicación, hace referencia a un puntero de memoria anormal. En una aplicación que utiliza asignación dinámica, a veces habrá una situación en la que el programa intenta leer y escribir una memoria que "debería estar disponible", pero por alguna razón, el puntero disponible esperado ya no es válido. Puede ser que "se haya olvidado" de solicitar la asignación al sistema operativo, o puede ser que el propio programa haya cancelado en algún momento esta memoria, "no haya prestado 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 resultado final de un programa que intenta "violar la ley" es. será detenido por la operación y todos los recursos serán recuperados. ¡Las leyes del mundo de la informática siguen siendo mucho más efectivas y estrictas que las de los humanos! Situaciones como ésta son errores en el propio programa 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 que también pueden ser otros números aleatorios.