Работа вокруг
Как предполагает ChrisF , прагматичным краткосрочным решением может быть использование трюка с паузой и возобновлением , но вы должны поговорить со своими клиентами, чтобы узнать, какими должны быть ваши приоритеты. Например:
Если неисправность выходит за рамки 1000 фунтов стерлингов или вызывает 4 часа простоя один раз в неделю, а исправление паузы и возобновления сокращает производство на 1%, они, вероятно, предпочтут это исправление прямо сейчас.
Если из-за ошибки происходит потеря 1 фунта или один раз в неделю 4 минуты простоя, но исправление паузы и возобновления сокращает производство на 1%, они, вероятно, предпочтут дождаться исправления, которое не влияет на производительность.
Проработав много лет в области лазерной микрообработки, я точно знаю, какое давление вы можете испытать, чтобы оптимизировать процесс и заставить свою машину производить столько деталей в час, сколько это возможно, так что в любом случае вы окажетесь под давление, чтобы исправить проблему должным образом.
логирование
По моему опыту, единственный способ эффективно выследить Heisenbug - обильное ведение журнала. Регистрируйте все внутри и вокруг части кода, которая может быть ответственна за ошибку. Узнайте, как эффективно читать файлы журналов, убедитесь, что вы отслеживаете следующие ошибки на ваших двигателях (ваши этапы движутся, где они должны, когда они должны?). Посмотрите на использование памяти на машине, является ли утечка памяти причиной критического процесса из-за отсутствия питания?
Убедитесь, что вы также регистрируете действия пользователя. Вы уверены, что оператор не нажимает на аварийную остановку, чтобы он мог выскочить из-за перебоя сигареты, пока она чинится? Я видел, как это произошло!
Статический анализ
Кроме того, ищите корреляции между написанием определенных образцов и ошибкой, вызываемой более или менее часто. Если вы можете найти шаблоны, которые вызывают проблему чаще (или никогда не вызывают ее), это может указывать на вашу проблему.
Попробуйте сделать шаблоны, которые вызывают проблему еще чаще. Если вы можете найти способ надежного запуска проблемы, то вы на полпути к решению.
Другие опции
Наконец, не спешите обвинять аппаратное обеспечение, но никогда не думайте, что оно идеально. Много раз меня обвиняли в проблемах, которые оказались электрическими или механическими по своей природе, поэтому вы всегда должны иметь это в своем уме.
Даже если вы обычно не имеете доступа к машине, помните, что некоторые проблемы могут быть эффективно решены только на машине. Иногда несколько дней на месте могут стоить недели с помощью удаленного рабочего стола и месяцев в автономном режиме. Если у вас закончились офлайновые варианты, не бойтесь предложить посещение сайта, они могут только сказать «нет».
Возможно, вы также захотите взглянуть на вопросы и ответы на вопрос « Что вы делаете с гейзенбагом?». и что делать с ошибками, которые не воспроизводятся? но они могут быть не очень полезны для вашей ситуации.