Red de conocimientos turísticos - Información de alquiler - ¿Se produjo un error en la aplicación después de ingresar a Strictly Come Dancing?

¿Se produjo un error en la aplicación después de ingresar a Strictly Come Dancing?

En términos generales, este fenómeno tiene varios aspectos: uno es el aspecto del hardware, es decir, hay un problema con la memoria y el otro es el aspecto del software, que tiene múltiples aspectos del problema.

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

2. Causado por un conflicto de dirección de memoria o de memoria virtual

3. asignado cuando el programa se está ejecutando, el programa utiliza la dirección de memoria. Cuando finaliza el programa, el espacio reservado se libera para que lo utilice el nuevo programa. A veces, el programa anterior no ha finalizado. Se inicia una nueva tarea. ¿Cuánta memoria o memoria virtual se necesita? Solo la memoria puede garantizar que los programas se puedan ejecutar al mismo tiempo. ¿Cuánta memoria o memoria virtual necesitamos para mantener nuestras cargas de trabajo ejecutándose simultáneamente? Quizás Win no haya hecho un buen trabajo en este problema, por lo que este error ocurre con frecuencia, generalmente después de ejecutar software o multimedia a gran escala

3. Este problema también puede ocurrir si el módulo de memoria es de mala calidad<. /p>

En general, la posibilidad de problemas de memoria no es alta. Los aspectos principales son: el módulo de memoria está roto, la calidad de la memoria es problemática y hay dos marcas diferentes de memoria con diferentes capacidades, que también lo son. más probabilidades de causar problemas. La combinación de módulos de memoria también es propensa a problemas de incompatibilidad, así que preste atención a la disipación de calor, especialmente después del overclocking. Puede utilizar el programa MemTest para probar exhaustivamente la estabilidad de la memoria.

Si tienes memoria dual y este problema ocurre cuando mezclas módulos de memoria de diferentes marcas o compras memoria de segunda mano, entonces debes verificar si hay algún problema con la memoria o si es incompatible con otro hardware.

4. Vulnerabilidad del sistema Microsoft WINDOWS.

La dirección de memoria de Windows 0X00000000 a 0X0000ffff se designa como el rango de direcciones para asignar punteros nulos. Si el programa intenta acceder a esta dirección, se considera. un error. Los programas escritos en c/c generalmente no realizan una verificación de errores estricta. Cuando se usan programas escritos en c/c, generalmente no se realiza una verificación de errores estricta cuando se usa malloc para asignar memoria, si no hay suficiente espacio de direcciones para la asignación. Devuelve un puntero nulo. Sin embargo, el código no comprueba dichos errores y, en cambio, supone que la asignación de la dirección se realizó correctamente y se accede a la dirección 0X00000000, momento en el que se produce una violación de la memoria y se finaliza el proceso.

Cuando el archivo pif consta de relleno de caracteres ASCII, ocurre la siguiente situación:

La longitud del archivo pif ilegal (rellenado con el carácter ascii "x") debe ser al menos 369 bytes, solo entonces el sistema lo considerará un archivo pif legal, lo mostrará como un ícono pif y mostrará atributos como "programa, fuente, pantalla", etc. El sistema solo puede acceder al archivo pif después de completar los caracteres ASCII, por lo que el sistema no puede considerar el archivo pif como un archivo pif legal, y se proporcionará al usuario el "programa, fuente, pantalla" y otra información en las propiedades. . Y solo si el tamaño del archivo que no es pif es de 369 bytes, al mirar la página de propiedades "Programa", no aparecerá ningún error de programa, incluso si tiene 370 bytes. Al visualizar la página "Programa" de un atributo de archivo pif ilegal de más de 369 bytes, el administrador de recursos mostrará un mensaje de error: El comando "***" hace referencia a la memoria "***". El problema radica en la dirección hexadecimal del archivo pif:

0x00000181[0x87]0x00000182[0x01] y

0x00000231[0xC3]0x00000232[0x02]

Incluso si es un archivo pif legítimo, no es suficiente cambiar cualquiera de estos cuatro lugares. Cambiar cualquiera de estos cuatro lugares resultará en un error del programa.

Pero sólo

cambiar los valores de 0x00000181 y 0x00000182 a [0xFF][0xFF] y luego cambiar cualquier otra dirección

no provocará un error.

5. Puede ser que el servicio Apache no se haya instalado correctamente y no se haya iniciado; cambie el servicio OracleOraHomeXXHTTPServer para detenerlo

6. >

El programa requiere una porción de memoria para guardar datos y llama a las "funciones" proporcionadas por el sistema operativo. Al aplicar la "función función", si la asignación de memoria es exitosa, la función regresará al programa de aplicación a través de la dirección del área de memoria recién abierta, y el programa de aplicación puede 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 memoria no siempre está disponible y, en ocasiones, la asignación de memoria puede fallar. Cuando la asignación falla, la función del sistema devuelve un valor de 0. El valor de retorno de 0 no representa un puntero recién habilitado, sino que es 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. En este caso, se produce el error "Escribir en la memoria" anterior y muestra la dirección de memoria a la que se hace referencia como "0x00000000".

Hay muchos motivos por los que falla la asignación de memoria, incluida memoria insuficiente, discrepancia en la versión de la función del sistema, etc. 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, se han instalado varias aplicaciones (incluidos programas de virus que se "instalaron" inadvertidamente) y se ha instalado una gran cantidad de parámetros y archivos del sistema. sido cambiado.

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

En aplicaciones que utilizan asignación dinámica, a veces habrá una situación en la que el programa intenta leer y escribir. un bloque de memoria "debería" estar disponible, pero por alguna razón el puntero libre esperado ha caducado. Esto podría ser que el programa "olvidó" pedirle al sistema operativo que asigne memoria, o podría ser que el programa mismo cerró la sesión de la memoria en algún momento y "no se dio cuenta", etc. El sistema recuperará memoria. 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". será cancelado y todos los recursos serán reclamados. ¡Las leyes del mundo de la informática son aún más efectivas y estrictas que las leyes de los humanos!

Estas situaciones son errores en el propio programa y normalmente 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 siempre es "0x00000000", sino algún otro número aleatorio.