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

       

Окно Locals


Окно Locals довольно простое, тем не менее обращу внимание читателя на три ключевых момента. Во-первых, в отличие от окна Watch отладчика Visual C++, окно Locals в Visual Basic не требует, чтобы программист тратил силы на приведение типов и прочие хитрости, чтобы значения отображались в соответствующем формате. Во-вторых, наиболее важная переменная, показанная в окне Locals, является Me-объектом. Подобно указателю this языка C++, Me-объект является родовой конструкцией, которая полностью описывает текущий объект и его свойства.

И, наконец, последнее: иногда можно изменять локальные переменные в этом окне, выбрав переменную и щелкнув (кнопкой мыши, конечно) на поле Value. Если Visual Basic позволит изменять переменные, то в поле Value будет разрешено редактирование текста. Visual Basic не позволяет изменять объекты и некоторые переменные типа variant. Например, нельзя изменять какое-либо из свойств элементов управления в коллекциях форм Controls. Однако если в форме имеются переменные с действующими типами элементов управления, такими как CommandButton, то изменение свойств этих элементов через переменные допустимо. В тех случаях, когда нельзя изменять значение переменной в окне Locals, можно воспользоваться окном Immediate.


Для того чтобы редактировать результат буксировки в окне Watch, просто выполните щелчок правой кнопкой мыши в окне Watch и выберите команду Edit Watch всплывающего (контекстного) меню.

Прежде чем переходить к следующему разделу, упомянем еще два аспекта окна Watch. Первый — можно редактировать значения щелчком мыши на поле Value. Так же, как и в окне Locals, если IDE Visual Basic разрешает редактирование, то вы можете изменять значения. Выражения можно также редактировать прямо по месту.

Мне еще нравится помещать в окно Watch специальные значения, такие, например, как Err.Description. Это позволяет следить за любыми ошибочными значениями, с которыми можно столкнуться, если "перешагивать" через функции. Если отлаживаемое приложение получает также параметры из командной строки, я помещаю в окно Watch значение command, чтобы получить возможность быстро проверять различные параметры командной строки, которые приложение могло бы использовать (без необходимости их предварительной установки на вкладке Make диалогового окна Project Properties). К сожалению, как было сказано в начале данной главы, невероятно раздражающее свойство среды VB IDE заключается в том, что она "забывает" все тщательно построенные наблюдения и точки прерывания, как только вы ее покидаете (так что приходится повторно вводить их, начиная каждый новый сеанс отладки).





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