10 votes

Comment les fichiers de préférences deviennent-ils corrompus ?

J'ai lu plusieurs articles de dépannage et de questions-réponses dans lesquels le coupable est un fichier de préférences corrompu pour une application ou un processus. En général, la solution consiste à supprimer le fichier de préférences défectueux et à permettre à un nouveau fichier de préférences par défaut d'être généré au redémarrage du logiciel en question.

Comment un fichier de préférences peut-il être corrompu ? S'agit-il simplement d'une erreur de lecture/écriture de bas niveau, ou une erreur de niveau supérieur se produit-elle dans certains cas ? S'agit-il simplement d'un XML mal formé ou mal orthographié ?

Je crois plutil pourrait vous dire s'il y a une erreur de syntaxe dans le fichier, mais encore une fois, comment l'erreur a-t-elle été introduite ? Je ne sais pas quelle est la source habituelle de ces fichiers corrompus. Merci.

6voto

JeeBee Points 11882

Il peut être causé par un grand nombre de choses, mais je crois que la cause la plus courante est l'endroit où le fichier est en cours d'écriture, et l'application se termine avant d'avoir fini d'écrire le fichier. Cela peut être dû au fait que les frais généraux du système sont trop importants pour permettre une écriture réussie à ce moment-là.

Des erreurs matérielles au niveau du disque dur ou de la mémoire peuvent également provoquer des erreurs de données, mais j'imagine que ce sont les moindres de vos problèmes à ce stade.

3voto

Ken Points 3802

Je parierais que dans presque tous les cas, il n'y a pas de problème de syntaxe dans le fichier plist. Les fonctions d'Apple pour charger et sauvegarder les données plist reçoivent beaucoup d'attention et sont très utilisées. Presque tous les bogues ont sûrement été trouvés et corrigés à ce jour.

(Il faut savoir que les plists sont utilisées pour toutes sortes de choses, comme le glisser-déposer et le presse-papiers, les autorisations de sandbox pour le lancement des applications, les interfaces utilisateur de chaque application, et même l'icône à afficher dans le Finder. Il serait incroyable qu'il y ait un bug dans le code d'écriture des plists qui se trouve juste à foutre en l'air les fichiers de préférences de certaines apps, mais aucune de ces autres choses).

Le fichier de préférences d'une application (plist) ne fait que stocker sur le disque certaines de ses structures de données en mémoire. Ainsi, si l'application présente un bogue qui entraîne un mauvais paramétrage, celui-ci est sauvegardé.

Souvent, lorsqu'une application se comporte mal, il suffit de la quitter et de la redémarrer. Cela réinitialise de nombreuses parties de l'application et peut résoudre le problème. Cependant, les fichiers de préférences sont rechargés à partir du disque. Par conséquent, si la partie de l'application concernée a été enregistrée dans une préférence persistante, le redémarrage de l'application n'aura aucun impact : la mauvaise valeur sera simplement rechargée. C'est alors que la suppression du fichier de préférence peut être utile. C'est comme redémarrer l'application, mais pour les choses qui ont été sauvegardées.

Ces choses peuvent se produire parce que les programmeurs supposent que les données dont dispose leur application sont correctes. Si une couleur ne peut être choisie que par l'utilisateur en cliquant sur une roue chromatique standard, ils ne font probablement pas de travail supplémentaire pour vérifier que la couleur est correcte avant de l'utiliser. (À titre de comparaison, une application comme Safari effectue une vérification de l'exactitude des données avant de les utiliser. tonne de travail supplémentaire pour tout vérifier, car il charge et exécute des fichiers directement depuis Internet).

L'avantage, c'est qu'il est presque toujours correct, et que c'est beaucoup plus facile si vous partez du principe que les valeurs internes sont correctes. L'inconvénient, c'est que si une mauvaise valeur s'infiltre d'une manière ou d'une autre (comme si l'utilisateur avait fait quelque chose de totalement inattendu), les choses peuvent se détraquer jusqu'à ce que tout soit réinitialisé.

1voto

Bob Foss Points 11

En tant que senior peu doué pour la technologie, j'ai découvert que mon fichier de préférences iTunes était corrompu et que le contrat de licence s'affichait à chaque fois que j'ouvrais iTunes. De plus, toutes mes préférences ont dû être réinitialisées. Je pense que les réponses ci-dessus sont correctes, car juste avant d'avoir ce problème, j'ai été obligé de faire des arrêts forcés de mon ordinateur (problèmes électriques dans la région) et des redémarrages/semi-démarrages plusieurs fois. Les applications se sont arrêtées avant la fin des instructions/de l'écriture. Mais la solution consistant à créer un nouveau fichier de préférences iTunes était indiquée en ligne et très facile à mettre en œuvre. Cela a réglé le problème.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X