Come vengono danneggiati i file delle preferenze?

10

Ho letto diversi articoli per la risoluzione dei problemi e Q & A dove il colpevole è un file di preferenze corrotto per un'applicazione o un processo. In genere, la soluzione consiste nell'eliminare il file delle preferenze errate e consentire la generazione di un nuovo file delle preferenze predefinito al riavvio di qualsiasi software non funzionante.

Come si corrompe un file delle preferenze? Si tratta semplicemente di un errore di lettura / scrittura di basso livello o in alcuni casi si verifica un errore di livello superiore? È solo un XML malformato o errato?

Credo che plutil potrebbe dirti se c'è un errore sintattico con il file, ma ancora una volta, come è stato introdotto l'errore? Non sono chiaro sulla solita fonte per questi file danneggiati. Grazie.

    
posta wxs 29.08.2012 - 23:58
fonte

3 risposte

6

Può essere causato da un gran numero di cose, ma credo che la causa più comune è dove viene scritto il file, e l'applicazione termina prima che abbia finito di scrivere il file. Ciò potrebbe essere causato da overhead del sistema troppo grandi per una scrittura riuscita al momento.

Gli errori hardware con il disco rigido o la memoria potrebbero anche causare errori nei dati, ma immagino che questi siano l'ultimo dei tuoi problemi a quest'ora.

    
risposta data 30.08.2012 - 00:17
fonte
3

Scommetto che in quasi tutti i casi, non c'è nulla di sintatticamente sbagliato nel file plist. Le funzioni di Apple per il caricamento e il salvataggio dei dati plist ricevono molta attenzione e molto uso. Quasi tutti i bug sono stati trovati e risolti in questo momento.

(Consider that plists are used for all kinds of things, like drag-n-drop and the clipboard, sandbox permissions for launching apps, the user interfaces for every app, and even which icon to display in the Finder. It would be incredible if there was a bug in the plist-writing code which just happened to screw up preference files for some apps, but not any of these other things!)

Il file delle preferenze di un'applicazione (plist) sta semplicemente memorizzando alcune delle sue strutture di dati in memoria sul disco. Quindi, se l'app ha un bug che fa sì che qualcosa venga impostato in modo errato, viene salvato.

Spesso quando un'app inizia a comportarsi in modo anomalo, puoi semplicemente chiuderla e ricominciare. Ciò reimposta molte parti di esso e può risolvere il problema. I file delle preferenze vengono comunque ricaricati dal disco, quindi, se la parte interessata dell'app è stata salvata con una preferenza persistente, il riavvio dell'applicazione non avrà alcun impatto: il valore errato verrà nuovamente caricato. Ecco quando è possibile eliminare il file delle preferenze. È come riavviare l'app, ma per le cose che sono state salvate.

Queste cose possono accadere perché i programmatori presumono che i dati della loro app siano corretti. Se un colore può essere scelto solo dall'utente che fa clic su un controllo di ruota colore standard, probabilmente non eseguirà alcun lavoro aggiuntivo per verificare che sia corretto prima di utilizzarlo. (In confronto, un'app come Safari fa un ton di lavoro extra verificando tutto, perché carica ed esegue file direttamente da Internet.)

Il lato positivo è che è quasi sempre corretto, ed è molto più semplice se si assume che i valori interni siano corretti. Il rovescio della medaglia è che se un cattivo valore si insinua in qualche modo (come l'utente ha fatto qualcosa di totalmente inaspettato), le cose possono andare in tilt fino a quando tutto è resettato.

    
risposta data 30.08.2012 - 05:10
fonte
1

Essendo un anziano esperto di tecnologia, ho trovato che il mio file di preferenze di iTunes era danneggiato e ha causato l'accordo di licenza ogni volta che ho aperto iTunes. Inoltre, tutte le mie preferenze dovevano essere ripristinate. Credo che le risposte di cui sopra siano corrette, poiché appena prima che avessi questo problema, sono stato costretto a fare arresti forzati del mio computer (problemi elettrici nell'area) e riavvio / riavvio mezzo più volte. Le applicazioni sono state terminate prima che le istruzioni / la scrittura fossero complete. Ma la correzione per generare un nuovo file delle preferenze di iTunes è stata mostrata online e molto facile da fare. Ha risolto il problema.

    
risposta data 06.04.2014 - 01:50
fonte

Leggi altre domande sui tag