Отладка приложений

       

Дублируйте ошибку


Наиболее критический шаг в процессе отладки — первый, дублирование (повторение) ошибки. Это бывает трудно или даже невозможно сделать, но если не удается дублировать ошибку, то, вероятно, не удастся ее и устранить. При попытке дублирования могут потребоваться крайние меры. Однажды я столкнулся с ошибкой, которую не мог дублировать, просто запуская программу на выполнение. Я предположил, что эту ошибку могло вызывать состояние входных данных, поэтому запустил программу под отладчиком и вводил данные, нужные для дублирования, непосредственно в память. Это помогло. Если вы имеете дело с проблемой синхронизации, вам могут потребоваться такие шаги, как загрузка тех же задач, чтобы можно было дублировать состояние, в котором произошла ошибка.

Продублировав ошибку с помощью одного набора шагов, оцените, нельзя ли сделать это как-нибудь еще. Некоторые ошибки можно получить только в одной ветви кода, а другие, — прогоняя программу через множество ветвей. Суть в том, чтобы попытаться посмотреть поведение программы во всех возможных ситуациях. Дублируя ошибку во многих ветвях программного алгоритма, можно намного лучше ощутить смысл данных и граничных условий, вызывающих проблемы. Кроме того, как известно, одни ошибки могут маскировать другие. Чем больше способов вы найдете, чтобы дублировать ошибку, тем лучше.

Даже если не удалось дублировать ошибку, следует зарегистрировать ее в системе трассировки ошибок1. Таким образом, если другой разработчик отвечает за соответствующую секцию кода, он, по крайней мере, знает, что что-то неладно. Регистрируя ошибку, которую вы не можете воссоздать, нужно максимально описать ее, и эта информация в дальнейшем может позволить вам или кому-то другому решить проблему.

Bug-tracking system (BTS) — программный продукт, предназначенный для осуществления контроля за всеми этапами жизненного цикла ошибок в ПО. — Ред.



Содержание раздела