- •Введение в отладчик.
- •Подключение отладчика
- •Запуск отладчика
- •Разница между Step Over и Step Into
- •Значки инструментальной панели отладчика
- •Эквиваленты меню для кнопок отладчика
- •Дополнительные пункты меню Debug
- •Локальное меню отладчика
- •Окно Trace
- •Трассировка кода объекта
- •Трассировка процедурно-ориентированного кода
- •Окно Watch
- •Окна отладчика
- •Меню View I Debug Windows
- •Наблюдение переменных как данных различного типа.
- •Страница Debug в окне Options
- •Раскладка клавиатуры
- •Короткие клавиши отладчика
Окна отладчика
В зависимости от типа приложения Windows, которое вы отлаживаете, или ваших личных предпочтений Visual C++ открывает окно отладчика специально для некоторой задачи. При отладке вы можете получить доступ к этим окнам через меню View. В табл.2. перечислены окна отладчика и даны их описания.
Когда окно находится в плавающем состоянии, вы можете изменять его размер или минимизировать для увеличения пространства, предоставляемого другим окнам. Из любого окна отладчика информацию можно копировать. На странице Debug диалога Options (меню Tools) вы можете настроить форматирование или другие характеристики этих окон.
Окно Trace
Когда отладчик активируется, окно редактора кода становится окном Trace (Трассировки). Оно позволяет видеть строки программы в процессе ее исполнения.
Трассировка кода объекта
При отладке объектно-ориентированного исходного кода окно трассировки ассоциируется с объектом, показанным в списке Object. Этот список содержит все объекты из родительского контейнера самого высокого уровня того объекта, код которого сейчас исполняется.
Трассировка процедурно-ориентированного кода
При трассировке функций или методов окно Trace ассоциируется с кодом метода или функции, показанной в списке Procedure. Этот список содержит все методы и события объекта из окна Object, который имеет ассоциированный с ними код.
Таблица 2. Стандартные окна отладчика Visual C++
Окно отладчика |
Описание |
Output
|
Отображает информацию о состоянии процесса построения, включая любые ошибки компилятора, компоновщика, Build-инструмента, а также вывод функции OutputDebugString или библиотеки классов afxDump, коды завершения нитей, уведомления о загрузке символов и «экстренную» информацию об исключениях.
|
Watch
|
Выводит имена и значения переменных или выражений.
|
Variables
|
Отображает информацию о переменных текущего и предыдущего операторов, а также о возвращаемых функциями значений (страница Auto), локальные переменные текущей функции (страница Locals) и объект, на. который указывает this (страница This).
|
Registers
|
Отображает текущее содержимое регистров общего назначения и флагов CPU.
|
Memory
|
Показывает текущее содержимое памяти.
|
Call Stack
|
Показывает стек функций, вызванных, но не возвративших управления.
|
Disassembly
|
Отображает ассемблерный код, полученный в результате дизассемблирования компилированной программы.
|
Окно Watch
Окно наблюдений показывает выражения и их текущие значения; оно позволяет установить на выражении контрольную точку. Внутри окна вы можете вводить выражения и присоединять их к сетке активных наблюдаемых выражений, расположенной под окном Watch.
Категория Name показывает имена текущих наблюдаемых выражений; за ними идет колонка Values с их значениями. Категория Туре позволяет видеть символы, представляющие тип данных для наблюдаемых выражений. Кроме того, в окне Watch можно выделять выражения, удалять их и добавлять контрольные точки.
