Я написал программу для управления несколькими научными инструментами, которая в итоге проходит несколько тысяч циклов. На все это обычно уходит около получаса.
Я столкнулся со странной ошибкой / проблемой, из-за которой примерно каждый раз, когда я запускаю программу, программа зависает на компьютере, и мне приходится сильно перезагружать компьютер. Когда я просто выполняю небольшое количество циклов для тестирования программы, у меня никогда не возникает проблем, только когда я пытаюсь выполнить полные прогоны данных, происходит сбой и включение.
Есть ли способ отследить ошибку, если она возникает только периодически? Можно ли как-нибудь поймать, в чем ошибка перед зависанием компьютера? Может ли это быть связано с выполнением кода в режиме отладки, а не в выпуске?
Я использую Visual C ++ 2013 на 64-разрядной машине Win 7. Все различные включает в себя 64-битные версии. Я могу опубликовать код, если это будет полезно, но я должен предупредить, что он очень длинный. Спасибо
Будучи такой длительной процедурой тестирования, может быть, лучший «собственный» способ справиться с ней — это записать в файл необходимую отладочную информацию почти на каждом шаге, который выполняет программа.
Обязательно закрывайте файл каждый раз, иначе вы, вероятно, потеряете свои данные при замораживании.
Конечно, это займет гораздо больше времени, но если вам повезет и ошибка имеет определенную закономерность, после пары проверок вы можете использовать условные контрольные точки и отлаживать обычным способом.
Если бы мне пришлось сделать ставку на причину, я скажу, что это утечка памяти.
Надеюсь это поможет
Других решений пока нет …