Лет 10 назад я делал эмулятор для coldfire c периферией и одной из проблем было зависание программы внутри эмулятора через каждые 5 дней работы. Внутренний и внешний отладчики ничего внятного не показали, внутри все работало, но на вторые 5 дней стало ясно, что зависание происходит через фиксированный интервал времени, с точностью до минуты. После анализа интервала стало ясно, что он упирается в частоту сэмплирования звука для 32бит счетчика. Оказалось, что программа внутри эмулятора ждала прерывания от DMA звуковой карты которое не генерировалось, потому что счетчик загруженных сэмплов эмулятора звуковой карты за 5 дней переполнялся и становился меньше счетчика проигранных. А это являлось условием отсутствия и данных в буфере и необходимости в генерировании прерывания. Как можно догадаться, решением было увеличение счетчика до 64бит.