Funziona attorno
Poiché ChrisF suggerisce, la soluzione pragmatica a breve termine potrebbe essere quella di utilizzare sospendere e riprendere trucco, ma devi parlare con i tuoi clienti per sapere quali dovrebbero essere le tue priorità. Ad esempio:
-
Se l'errore traspone una parte di £ 1000 o causa 4 ore di interruzione una volta alla settimana, mentre la correzione di pausa-resume riduce la produzione dell'1%, probabilmente preferirà la correzione in questo momento.
-
Se l'errore traspone una parte £ 1 o causa 4 minuti di inattività una volta alla settimana, ma la correzione pausa-resume riduce la produzione dell'1%, probabilmente preferiranno attendere una correzione che non influisce tasso di produzione.
Avendo lavorato nel settore della microlavorazione laser per molti anni, so quanta pressione si può sopportare per ottimizzare il processo e fare in modo che la macchina produca il maggior numero di pezzi all'ora possibile, quindi in ogni caso essere sotto pressione per risolvere il problema correttamente.
Accesso
Nella mia esperienza, l'unico modo per rintracciare efficacemente un Heisenbug è una registrazione abbondante. Registrare tutto dentro e intorno alla parte del codice che potrebbe essere responsabile dell'errore. Scopri come leggere i tuoi file di registro in modo efficace, assicurati di monitorare l'errore seguente sui tuoi motori (le tue fasi si stanno spostando dove dovrebbero quando dovrebbero?). Guarda l'utilizzo della memoria sulla macchina, c'è una perdita di memoria che causa la morte di un processo critico?
Assicurati di registrare anche le azioni degli utenti, sei sicuro che l'operatore non stia colpendo l'arresto di emergenza in modo che possano saltar fuori per una pausa sigaretta accidentale mentre viene riparata? Ho visto accadere questo!
Analisi statiche
Inoltre, cerca le correlazioni tra la scrittura di determinati pattern e il bug che viene attivato più o meno spesso. Se riesci a trovare pattern che attivano il problema più frequentemente (o non attivarlo mai), questi potrebbero indicare il tuo problema.
Prova a creare pattern che attivano il problema ancora più di frequente. Se riesci a trovare un modo per attivare il problema in modo affidabile, sei a metà strada verso una soluzione.
Altre opzioni
Infine, non essere rapido nel dare la colpa all'hardware, ma non pensare mai che sia perfetto. Molte volte sono stato accusato di problemi che si sono rivelati di natura elettrica o meccanica, quindi devi averlo sempre in mente.
Anche se normalmente non è possibile accedere alla macchina, ricordare che alcuni problemi possono essere risolti in modo efficiente sulla macchina. A volte alcuni giorni on-site possono valere settimane via desktop remoto e mesi off-line completamente. Se esaurisci le opzioni off-line, non aver paura di proporre una visita al sito, possono solo dire di no.
Potresti anche voler dare un'occhiata alle domande e alle risposte a Che cosa fai con un heisenbug? e Cosa fare con bug che non ripro? ma questi potrebbero non essere così utili per la tua situazione.