Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв ВУМИП 2012-07-06.doc
Скачиваний:
66
Добавлен:
13.05.2015
Размер:
9.35 Mб
Скачать

1.3.7.4. Протокол событий

Ведение протокола событий позволяет сохранить состояние объ­ек­тов программы в определенных точках прерывания для последую­щего ав­то­номного анализа программистом. Для этого в окнеAdd Source Breakpointиспользуются поля:Log message(указывается текст, который выводится в протокол),Eval expression(вводится выражение, значение которого выведется в протокол, если будет установлен флажокLog result). Если флажокBreakотключен, то будет только вывод в протокол, а самого прерывания в работе приложения не будет. Протокол можно просмотреть в любое время командойView/Debug Windows/Event Logили клавишами^Alt+V. Окно протокола можно настроить командойPropertiesиз контекстного меню этого окна. КомандойSave Events to Fileиз контекст­но­го меню можно сохранить протокол в текстовом файле.

1.3.7.5. Просмотр и изменение значений

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

Просмотр всех точек прерыванияосуществляется командойView/Debug Windows/Breakpoint, появится окно со столбцами:Filename(имя файла),Line(номер строки),Condition(условие выполнения точки),Action(выполняемое действие),Pass count(число проходов),Group(имя группы). Щелчок мышкой возвращает в строку исходного текста с данной точкой. Для изменения описания точки выполняется командаPropertiesиз контекстного меню этого окна.

Если шагов очень много, например, цикл из нескольких тысяч повто­рений, то использовать клавишу F8 бессмысленно. В этом случае нужно выполнить без промежуточного останова группу операторов. Для этого следует текстовый маркер установить в строку, начиная с которой продол­жает­ся пошаговое выполнение, убрать точки прерывания в этой пропус­каемой группе, если они есть (щелкнуть мышкой по маркеру точки прерывания), и выполнить команду Run/Run to Cursor(выполнение до курсора) или нажатьF4. Продолжить работу программы не по шагам можно командойRun/Runили клавишейF9.

Для возврата в текущую точку прерывания выполняется команда Run/Show Execution Point.

Просмотр стека вызванных подпрограмм и установленных точек прерываний производится командами, соответственно, View/Debug Windows/Call Stack,View/Debug Windows/Breakpoints.

Просмотр значений переменных осуществляется через окно просмотраWatch Listв точках прерывания (рис.1.3.7.5).

Рис. 1.3.7.5. Окна свойств слежения и просмотра

Удобно располагать это окно поверх всех окон, для чего нужно вы­по­­лнить команду Stay on Topиз кон­текстного меню окна.

Список отслеживаемых переменных и выражений формируется в окне Watch Properties(свойства слежения) (рис.3.7.5), которое вызывается командойRun/AddWatch(запуск/добавить слежение) или^F со следую­щими основными полями и флажками:Expression(список вводимых отслеживаемых переменных или выражений),Repeat count(число отображаемых элементом массива),Digits(число цифр после точки),Allow Function Calls(допускается использование в выражениях функций),Default(выводимое значение имеет тип переменной),Record/Structure(перед значением выводится имя поля или структуры).

Из окна просмотра Watch Listможно выполнять следующие опе­ра­ции: удалить выражение из списка просмотра (клавишаDelete), откор­рек­ти­ровать выражение в списке (двойной щелчок по этому выражению и появится окно свойств слежения). В контекстном меню окна просмотра имеются команды:Edit Watch(отредактировать выражения),Add Watch(добавить выражения),Delete Watch(удалить выражения),Disable Watch(отключить выражение),Enable Watch(включить выражение),Delete All Watches(удалить все выражения),Disable All Watches(отключить все выражения),Enable All Watches(включить все выражения).

Для показа всех локальных переменных используется команда View/DebugWindiws/Local Variables.

Просмотр и изменение значенийосуществляется через окноEvaluate/Modify(определить/изменить), вызываемое командойRun/ Evaluate/Modify или клавишами^F7. В полеExpressionвводится нужное выражение, после нажатия кнопкиEvaluateв полеResultзаносится его значение. В полеNew valueвводится новое значение, которое далее будет использоваться программой, если нажать кнопкуModify. КнопкойWatchможно добавить в окно слежения выражение из поля Expression.