Aggirare
Come suggerisce ChrisF , la soluzione pragmatica a breve termine potrebbe essere quella di utilizzare la pausa e riprendere il trucco, ma devi parlare con i tuoi clienti per sapere quali dovrebbero essere le tue priorità. Per esempio:
Se il guasto cede una parte di £ 1000 o causa 4 ore di inattività una volta alla settimana, mentre la correzione di pausa-ripresa riduce la produzione dell'1%, probabilmente preferiranno la correzione in questo momento.
Se l'errore elimina una parte di £ 1 o causa 4 minuti di inattività una volta alla settimana, ma la correzione di pausa-ripresa riduce la produzione dell'1%, probabilmente preferiranno attendere una correzione che non influisce sulla velocità di produzione.
Lavorando nel settore della microlavorazione laser per molti anni, so quanta pressione puoi essere sotto pressione per ottimizzare il processo e far sì che la tua macchina produca quante più parti all'ora possibile, quindi in entrambi i casi pressione per risolvere correttamente il problema.
Registrazione
Nella mia esperienza, l'unico modo per rintracciare efficacemente un Heisenbug è una registrazione abbondante. Accedi 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 i seguenti errori sui tuoi motori (le tue tappe si stanno spostando dove dovrebbero quando dovrebbero?). Guarda l'uso della memoria sulla macchina, una perdita di memoria sta causando la fame di un processo critico?
Assicurati di registrare anche le azioni dell'utente, sei sicuro che l'operatore non stia colpendo l'arresto di emergenza in modo che possano saltar fuori per una pausa di sigarette mentre viene riparato? L'ho visto succedere!
Analisi statica
Inoltre, cerca le correlazioni tra lo scribing di determinati schemi e il bug che viene attivato più o meno spesso. Se riesci a trovare schemi che innescano il problema più frequentemente (o non lo innescano mai), questi potrebbero indicare il tuo problema.
Prova a creare modelli che innescano il problema ancora più frequentemente. Se riesci a trovare un modo per innescare il problema in modo affidabile, sei a metà strada verso una soluzione.
Altre opzioni
Infine, non essere veloce nel dare la colpa all'hardware, ma non dare per scontato che sia perfetto. Molte volte sono stato incolpato di problemi che si sono rivelati di natura elettrica o meccanica, quindi devi sempre averlo nella parte posteriore della tua mente.
Anche se normalmente non si ha accesso alla macchina, ricordare che alcuni problemi possono essere risolti in modo efficiente sulla macchina. A volte alcuni giorni sul posto possono valere settimane tramite desktop remoto e mesi completamente offline. Se esaurisci le opzioni off-line, non aver paura di proporre una visita al sito, possono solo dire di no.
Potresti anche voler esaminare le domande e le risposte a Cosa fai con un heisenbug? e cosa fare con i bug che non vengono riprodotti? ma questi potrebbero non essere così utili per la tua situazione.