Architecture Net

       

Обычная отладка, точки останова


Обычным способом использования отладчика является установка точек останова, и последующий запуск прдграммы под отладчиком Для примера, установим точку останова на первой строке

bytes = bytes * 1024; // байты = байты * 1024;

Простейший способ установить точку останова — щелкнуть на сером поле слева от окна с исходным кодом программы Можно также переместить курсор на нужную строку и щелкнуть на кнопке "Точка останова" на панели инструментов Щелчок на этой кнопке установит точку останова, если ее там не было, и, наоборот, уберет ее, если она уже была установлена на этой строке Теперь, если запустить программу под отладчиком, ее выполнение остановится при достижении точки останова Желтая стрелка на красном кружке, обозначающем точку останова, указывает, на какой именно точке останова прервано выполнение программы (рис. А.12.)



Рис. А.12. Выполнение программы приостановлено в точке останова

Закончив использование точек останова, можете удалить их, щелкнув на сером поле слева от окна с исходным кодом или на кнопке "Точка останова", расположенной на панели инструментов Если необходимо удалить сразу все точки останова, можно использовать пункт меню Debug => Clear All Breakpoints (Отладка => Снять все точки останова) или соответствующую кнопку на панели инструментов

Контрольные значения

Теперь можно просмотреть значения переменных Простейший способ это сделать — навести указатель мыши на переменную, и во всплывающей подсказке (на желтом фоне) около курсора будет выведено значение переменной Можно также щелкнуть правой кнопкой мыши на переменной и выбрать пункт Quick Watch (Контрольное значение) во всплывшем меню (или воспользоваться кнопкой Контрольное значение с изображением очков на панели инструментов) На рис. А.13. показано типичное окно контрольного значения В этом окне можно также изменить значение переменной



Рис. А.13. В окне контрольного значения (Quick Watch) отображается текущее значение переменной, при необходимости его можно изменить




Остановив с помощью отладчика выполнение программы можно добавить переменную в окно просмотра, щелкнув на ней правой кнопкой мыши и выбрав пункт Add Watch (Добавить контрольное значение) во всплывшем меню В окне Watch (Контрольное значение) может отображаться несколько переменных, и оно остается открытым во время выполнения программы При изменении значения переменной новое значение выделяется красным На рис. А.14. показан пример окна Watch (Контрольное значение) Заметьте, что значение переменной выводится в виде шестнадцатеричного числа, как изменить представление переменной объясняется ниже




Рис. А.14. Окно Watch (Контрольное значение)

Параметры отладчика

Параметры отладчика можно изменить, выбрав пункт меню Tools => Options (Сервис => Параметры) и затем элемент Debugging (Отладка) из списка Рис. А.15 иллюстрирует установку представления значений переменных в виде шестнадцатеричных чисел Если вернуться теперь к окну Watch (Контрольное значение), то можно заметить, что значения переменных отображаются в виде шестнадцатеричных чисел, например, 0x4




Рис. А.15. Диалоговое окно Options (Параметры) Установка параметров отладчика теперь отладчик будет отображать значения переменных в шестнадцатеричном формате

Выполнение в пошаговом режиме

После остановки программы отладчиком можно продолжить ее выполнение в пошаговом режиме В том же режиме выполнение программы можно и начать Есть несколько кнопок, предназначенных для выполнения в пошаговом режиме Наиболее часто используются следующие из них (в порядке расположения на панели инструментов)

  • Step Into (Шаг с заходом),


  • Step Over (Шаг с обходом),


  • Step Out (Шаг с выходом) Есть еще одна кнопка — Run to Cursor (Выполнить до текущей позиции)


  • Если курсор находится на вызове какой-либо функции, то при щелчке на кнопке Step Into (Шаг с заходом) он перейдет на первую строку этой функции Если же щелкнуть на кнопке Step Over (Шаг с обходом), произойдет вызов функции и курсор переместится на следующую строку (или выражение, или инструкцию, — в зависимости от пункта, выбранного в выпадающем списке Line, находящемся справа от кнопок выполнения в пошаговом режиме) Для иллюстрации действия кнопки Step Into (Шаг с заходом) можно использовать проект Bytes\Step3, в котором умножение на 1024 оформлено в виде отдельного статичного метода MultiplyByOneK Установите точку останова на первом вызове метода и щелкните на кнопке Step Into (Шаг с заходом) Результат показан на рис А 16 Красной точкой отмечено положение точки останова, желтой стрелкой — текущее положение указателя

    При отладке Visual Studio поддерживает средство Call Stack (Стек вызова) Для того чтобы просмотреть стек вызова, выберите пункт меню Debug => Wmdows => Call Stack (Отладка => Окно => Стек вызова) В нашем примере стек вызова имеет глубину всего в четыре вызова (рис. А.17.)




    Рис. А.16. Выполнение функции в пошаговом режиме: использование кнопки Step Into (Шаг с заходом)




    Рис. А.17. Стек вызова отображается в диалоговом окне Call Stack (Стек вызова)

    CompEbook.ru Железо, дизайн, обучение и другие


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