2014-02-07 2 views
0

Я написал программу для управления несколькими научными инструментами, которая заканчивается через несколько тысяч циклов, когда она запускается. Все это, как правило, длится около получаса.Как отлаживать код, приводящий к сбою компьютера

У меня возникла странная ошибка/проблема, в которой каждый раз, когда я запускаю программу, программа зависает от компьютера, и мне приходится жестко перезапускать. Когда я просто делаю небольшое количество циклов для тестирования программы, у меня никогда не бывает проблем, только когда я пытаюсь выполнить полные прогоны данных, это происходит с ошибкой.

Есть ли способ отслеживать ошибку, если она возникает только периодически? Есть ли способ поймать ошибку, прежде чем компьютер замерзнет? Может ли это быть связано с запуском кода в режиме отладки, а не в выпуске?

Я использую Visual C++ 2013 на 64-разрядной машине Win 7. Все различные варианты включают 64-битные версии. Я могу опубликовать код, если бы это было полезно, но я должен предупредить, что он очень длинный. Спасибо

+1

Valgrind ........ –

+0

компьютер зависает? это противно ... вы пытались запустить это на другом компьютере/виртуальной системе? вы контролировали потребление памяти и так далее? –

+0

, вероятно, связано с взаимодействием с драйверами для «научных инструментов» – thang

ответ

0

Будучи испытательной процедурой так долго, может быть, лучший способ «дома» справиться с этим - это записать в файл необходимую информацию об отладке почти на каждом шаге, который занимает программа.

Обязательно закройте файл каждый раз, иначе вы, вероятно, потеряете свои данные при замораживании.

Уверен, что потребуется много времени, но если вам повезет, и ошибка имеет определенную закономерность, после пары проверок вы можете пойти с условными точками останова и отлаживать обычным способом.

Если бы мне пришлось делать ставку на причину, я скажу, что это утечка памяти. Надеюсь, что это поможет

Смежные вопросы