Bekerja di sekitar
Seperti yang disarankan ChrisF , solusi jangka pendek pragmatis mungkin adalah dengan menggunakan jeda dan melanjutkan trik, tetapi Anda harus berbicara dengan pelanggan Anda untuk mengetahui apa yang seharusnya menjadi prioritas Anda. Sebagai contoh:
Jika kesalahan merusak bagian £ 1000 atau menyebabkan 4 jam downtime sekali seminggu, sementara perbaikan jeda-mengurangi produksi sebesar 1%, mereka mungkin akan lebih memilih memperbaiki sekarang.
Jika kesalahan merusak bagian £ 1 atau menyebabkan downtime 4 menit sekali seminggu, tetapi perbaikan jeda-mengurangi produksi sebesar 1%, mereka mungkin akan lebih memilih untuk menunggu perbaikan yang tidak mempengaruhi tingkat produksi.
Setelah bekerja di industri mesin mikro-laser selama bertahun-tahun, saya tahu seberapa besar tekanan yang Anda dapat untuk mengoptimalkan proses dan membuat mesin Anda memproduksi sebanyak mungkin komponen per jam, jadi Anda akan berada di bawah tekanan untuk memperbaiki masalah dengan benar.
Penebangan
Dalam pengalaman saya, satu-satunya cara untuk melacak Heisenbug secara efektif adalah penebangan yang berlebihan. Log segala sesuatu di dalam dan sekitar bagian kode yang dapat bertanggung jawab atas kesalahan. Pelajari cara membaca file log Anda secara efektif, pastikan Anda memantau kesalahan berikut pada motor Anda (apakah tahapan Anda bergerak ke mana seharusnya ketika seharusnya?). Lihatlah penggunaan memori pada mesin, apakah kebocoran memori menyebabkan proses kritis menjadi kelaparan?
Pastikan Anda mencatat tindakan pengguna juga, apakah Anda yakin bahwa operator tidak memukul berhenti darurat sehingga mereka dapat keluar untuk istirahat rokok sembarangan saat sedang diperbaiki? Saya telah melihat ini terjadi!
Analisis statis
Juga, cari korelasi antara menulis pola-pola tertentu dan bug yang dipicu lebih atau kurang sering. Jika Anda dapat menemukan pola yang lebih sering memicu masalah (atau tidak pernah memicunya), ini mungkin mengarah ke masalah Anda.
Cobalah untuk membuat pola yang memicu masalah bahkan lebih sering. Jika Anda dapat menemukan cara untuk memicu masalah dengan andal maka Anda setengah jalan menuju solusi.
Pilihan lain
Akhirnya, jangan cepat menyalahkan perangkat keras, tetapi jangan pernah berasumsi bahwa itu sempurna. Sering kali saya dipersalahkan atas masalah yang ternyata bersifat listrik atau mekanis, jadi Anda harus selalu mengingatnya.
Meskipun Anda biasanya tidak memiliki akses ke mesin, ingatlah bahwa beberapa masalah hanya dapat diselesaikan secara efisien pada mesin. Kadang-kadang beberapa hari di tempat dapat bernilai berminggu-minggu melalui remote desktop dan berbulan-bulan off-line sepenuhnya. Jika Anda kehabisan opsi offline, jangan takut untuk mengusulkan kunjungan situs, mereka hanya bisa mengatakan tidak.
Anda mungkin juga ingin melihat pertanyaan dan jawaban untuk Apa yang Anda lakukan dengan heisenbug? dan Apa yang harus dilakukan dengan bug yang tidak repro? tetapi ini mungkin tidak begitu berguna untuk situasi Anda.