¿Cómo se corrompen los archivos de preferencias?

10

He leído algunos artículos diferentes de solución de problemas y preguntas y respuestas donde el culpable es un archivo de preferencias dañado para una aplicación o proceso. Normalmente, la solución es eliminar el archivo de preferencias erróneas y permitir que se genere un nuevo archivo de preferencias predeterminado al reiniciar cualquier software que se esté comportando mal.

¿Cómo se corrompe un archivo de preferencias? ¿Es esto simplemente un error de lectura / escritura de bajo nivel, o se está produciendo un error de nivel superior en algunos casos? ¿Es simplemente un formato XML incorrecto o mal escrito?

Creo que plutil podría decirle si hay un error sintáctico con el archivo, pero nuevamente, ¿cómo se introdujo el error? No tengo claro el origen habitual de estos archivos dañados. Gracias.

    
pregunta wxs 29.08.2012 - 23:58

3 respuestas

6

Puede deberse a un gran número de cosas, pero creo que la causa más común es el lugar donde se está escribiendo el archivo, y la aplicación termina antes de que termine de escribir el archivo. Esto podría deberse a que los gastos generales del sistema son demasiado grandes para una escritura exitosa en ese momento.

Los errores de hardware con el disco duro o la memoria también podrían causar errores en los datos, pero me imagino que estos serían el menor de tus problemas en este momento.

    
respondido por el AlanJC 30.08.2012 - 00:17
3

Apostaría a que en casi todos los casos, no hay nada sintácticamente incorrecto con el archivo plist. Las funciones de Apple para cargar y guardar datos plist reciben mucha atención y mucho uso. Casi todos los errores ya han sido encontrados y solucionados hasta ahora.

  

(Tenga en cuenta que los plists se utilizan para todo tipo de cosas, como arrastrar y soltar y el portapapeles, los permisos de sandbox para iniciar aplicaciones, las interfaces de usuario para cada aplicación e incluso qué icono mostrar en el Finder. ¡Ser increíble si hubo un error en el código de escritura de errores que acaba de arruinar los archivos de preferencias para algunas aplicaciones, pero no para ninguna de estas otras cosas!)

El archivo de preferencias de una aplicación (plist) es simplemente almacenar algunas de sus estructuras de datos en memoria en el disco. Entonces, si la aplicación tiene un error que hace que algo no se configure correctamente, se guarda.

A menudo, cuando una aplicación comienza a comportarse mal, simplemente puede salir y reiniciar. Eso restablece muchas partes de él, y puede solucionar el problema. Sin embargo, los archivos de preferencias se vuelven a cargar desde el disco, por lo que si la parte afectada de la aplicación se guardó en una preferencia persistente, el reinicio de la aplicación no tendrá ningún impacto: el valor incorrecto simplemente se volverá a cargar. Ahí es cuando eliminar el archivo de preferencias puede ayudar. Es como reiniciar la aplicación, pero para cosas que se guardaron.

Estas cosas pueden suceder porque los programadores asumen que los datos que tiene su aplicación son correctos. Si un usuario solo puede elegir un color haciendo clic en un control de rueda de color estándar, es probable que no realice ningún trabajo adicional para verificar que es correcto antes de usarlo. (En comparación, una aplicación como Safari realiza una tonelada de trabajo adicional para verificar todo, porque carga y ejecuta archivos directamente desde Internet).

El lado positivo es que casi siempre es correcto, y es mucho más fácil si se asume que los valores internos son correctos. La desventaja es que si un valor incorrecto se cuela de alguna manera (como si el usuario hiciera algo totalmente inesperado), las cosas pueden desquiciarse hasta que todo se reinicie.

    
respondido por el Ken 30.08.2012 - 05:10
1

Como una persona mayor con problemas de tecnología, encontré que mi archivo de preferencias de iTunes estaba dañado y causó que el acuerdo de licencia apareciera cada vez que abría iTunes. Además, todas mis preferencias tenían que ser restablecidas. Creo que las respuestas anteriores son correctas, ya que justo antes de que tuve este problema, me vi obligado a hacer paradas forzadas de mi computadora (problemas eléctricos en el área) y reiniciar / reiniciar la mitad varias veces. Las aplicaciones terminaron antes de que las instrucciones / escritura estuvieran completas. Pero la solución para generar un nuevo archivo de preferencias de iTunes se mostró en línea y es muy fácil de hacer. Se solucionó el problema.

    
respondido por el Bob Foss 06.04.2014 - 01:50

Lea otras preguntas en las etiquetas