- •Введение в отладчик.
- •Подключение отладчика
- •Запуск отладчика
- •Разница между Step Over и Step Into
- •Run to Cursor
- •Значки инструментальной панели отладчика
- •Restart
- •Stop Debugging
- •Break Execution
- •Аpply Code Changes, Edit and Continue
- •Show Next Statement
- •Complete Word
- •Go To Definition/Reference
- •Insert/Remove Breakpoint
- •Окна отладчика
- •Окно Trace
- •Трассировка кода объекта
- •Трассировка процедурно-ориентированного кода
- •Окно Watch
- •Меню View I Debug Windows
- •Just-in-Time debugging
- •Страница Debug в окне Options
- •Раскладка клавиатуры
- •Короткие клавиши отладчика
Show Next Statement
Эта команда (ALT+NUM*) показывает следующий оператор программного кода. Если исходный код не доступен, Show Next Statement показывает оператор в окне дизассемблера.
Step Into
При выполнении этой команды (F11) для оператора с вызовом процедуры (функции или метода) производится переход внутрь вызванной процедуры.
Step Over
При выполнении Step Over (F10) для оператора с вызовом процедуры отладчик перешагивает через вызванный код, который исполняется с максимальной скоростью. Программа останавливается на первом операторе после вызова.
Step Out
Команда Step Out (SHIFT+F11) заставляет отладчик переключиться на полную скорость исполнения до конца текущей функции и остановиться на инструкции непосредственно после возврата из нее. Команду можно применить для быстрого возврата из отлаживаемой функции, когда вы убедились, что ошибка находится не в ней.
Run to Cursor
Эта команда (CTRL+F10) похожа на Go, но ей не требуется предварительно определенной контрольной точки. Для выполнения Run to Cursor нужно просто установить курсор редактора в строку исходного кода, с которой вы хотите продолжить отладку, и выбрать соответствующий значок!
QuickWatch
Команда (SHIFT+F9) открывает окно QuickWatch, в котором вы можете оценивать значения выражений.
В окнах Watch и QuickWatch можно также отображать регистры ММХ, используя для них символы ММО-ММ7. Это 64-битные целые регистры будут отображаться для всех машин х86 вне зависимости от того, поддерживают ли они инструкции ММХ.
Watch
Этот значок открывает окно Watch, в котором отображаются переменные приложения по их именам, а также выбранные выражения.
Variables
Значок открывает окно Variables, в котором отображается информация переменных текущего и предыдущего операторов, а также возвращаемые функциями значения (страница Auto), локальные переменные текущей функции (страница Locals) и объект, на который указывает this (страница This).
Registers
Значок открывает окно Registers отладчика, отображающее регистру, общего назначения CPU и состояние его флагов.
Memory
Кнопку можно использовать для открытия; окна Memory, отображающее содержимое памяти программы.
Call Stack
Открывает окно стека вызовов, где отладчик перечисляет вызванные к данному моменту процедуры, которые еще не закончились.
Disassembly
Открывает окно, в котором показан код языка ассемблера, полученный в результате дизассемблирования компилированной программы.
Эквиваленты меню для кнопок отладчика
К
онечно,
даже если вы закроете инструментальную
панель отладки, все то же самое можно
проделывать посредством команд меню
Debug (рис.6). Как вы помните,
оно занимает место меню Build в главной
линейке, когда отладчик становится
активным.
Рис. 6. Эквиваленты инструментальных кнопок отладки в меню Debug
Дополнительные пункты меню Debug
Бели вы внимательно посмотрите на рис.6, то увидите там дополнительные пункты меню, не доступные через инструментальную панель отладчика. Это Step Into Specific Function (на рисунке затенена), Exceptions, Treads и Modules.
Step Into Specific Function
Эта опция позволяет выполнять программу в пошаговом режиме и входить в специфическую функцию. Работает для любой глубины вложенности вызовов.
Exceptions
Открывает диалог Exceptions, в котором показан список исключений, которые вы хотите обрабатывать. Вы можете как угодно его модифицировать. Список сохраняется в файле с расширением .dsw и вносится в проект.
Treads
Опция отображает диалог Threads, позволяющий приостанавливать, возобновлять и устанавливать фокус на нити программы.
Modules
Окно Modules показывает все динамические библиотеки (DLL), загруженные вашим приложением. Их список выводится в порядке загрузки. Кнопки на верху списка позволяют сортировать библиотеки по имени, адресам памяти, маршруту или порядку загрузки.
Локальное меню отладчика
Н
а
рис.7. показываются
доступные опции отладки, которые при
активном отладчике могут вызываться
из контекстного меню редактора кода.
Всплывающее меню активируется нажатием
правой кнопки мыши, когда курсор ее
находится в окне редактора.
Рис.7 Опиции отладчика доступные в контекстном меню.
List Members
Опция показывает выпадающий список, содержащий свойства и методы выбранного объекта. Когда вы печатаете имя в форме объект.элемент, то после ввода точки появляется список доступных элементов. По мере ввода имени элемента происходит перемещение по списку. Перемещаться можно также клавишами Up Arrow, Down Arrow, PgUp, PgDn, Ctrl+PgUp, Ctrl+PgDn.
Type Info
Выбранный пункт Type Info выводит синтаксис выделенной в окне Edit пе ременной, функции или метода.
Parameter Info
С помощью этого пункта можно быстро получить доступ к информации о параметрах функции или выражения. Если у вас имеется функция или выражение с вложенными вызовами функций, выбор Parameter Info отображает параметры первой функций. Quick Info показывает информацию о всех вложенных функциях. Когда окно Parameter Info видимо, при нажатии запятой, выделяется следующий параметр. Чтобы убрать Parameter Info, нужно сделать одно из следующего:
• Щелкнуть где-нибудь в окне редактора.
• Ввести все требуемые параметры.
• Закончить функцию без некоторых необязательных параметров.
• Нажать ESC.
