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


Окно Watch - часть 6


Это случается при следующих условиях:

  •  если при выполнении программы срабатывают точки прерывания; П при одношаговом проходе строки или инструкции;
  •  если по завершении редактирования текста отладочной функции (в левой части окна Watch) нажата клавиша <Enter>;
  •  когда происходит исключение в выполняющейся программе, и управление передается опять в отладчик.

Еще раз подчеркну: у вас должно войти в привычку введение специальной отладочной функции, выполнение с ее помощью оценки и немедленное ее удаление из окна Watch. Это позволяет избежать любых сюрпризов и контролировать выполнение отладочной функции. Кроме того, не нужно создавать отладочные функции для каждой мелочи в приложении. Их надо писать только для наиболее критических структур данных, особенно если это структура, которую необходимо видеть целиком, или для того, чтобы проверять достоверность данных, которые должны быть скоординированы. Например, если предполагается, что структура А имеет поле, которое соответствует полю в структуре В, и оба поля должны быть обновлены, чтобы поддержать согласованность данных, то отладочная функция, которую можно вызвать из окна Watch, является хорошим средством координации полей. Наконец, не пытайтесь программировать дамп-функций для индивидуальных структур. Окно Watch само расширяет такие структуры, так что не нужно тратить впустую время, повторно изобретая это колесо.

Автоматическое расширение собственных типов

Хотя документация Visual C++ только упоминает эту тему, программист может создавать собственные типы, автоматически расширяемые в окне Watch, так же, как и в окнах QuickWatch и DataTips. Вы, вероятно, видели некоторые общие типы, такие как cobject и RECT, расширенные в окне Watch. Так вот, можно легко организовать дело таким образом, чтобы выгоду из расширяемости окна Watch извлекали ваши собственные типы. Весь фокус заключается в текстовом файле AUTOEXP.DAT из подкаталога Microsoft Visual Studio\Common\MSDev98\Bin. Просто добавьте в конец файла вход для своих собственных типов.




Начало  Назад  Вперед



Книжный магазин