Отладочное выполнение
Отладка — это анализ поведения программы путем исполнения ее в различных режимах. Если исполняемый код загружен в отладчик, то в окне дизассемблера появляется ассемблерный код. Можно использовать следующие основные способы выполнения программы: Ø Пошаговое выполнение с обходом процедур (step over). При нажатии клавиши < F8> выполняется текущая ассемблерная команда. Выполняя одну команду за другой, мы можем в трех остальных окнах следить за тем, как меняется содержимое регистров, секции данных и секции стека. Особенностью данной команды является то, что если очередной командой будет команда вызова процедуры (CALL), то автоматически будут выполняться все команды процедуры (все команды процедуры выполнятся как одна инструкция). Ø Пошаговое выполнение с заходом в процедуру (step into). Выполнение осуществляется по нажатию клавиши < F7>. Основным отличием от предыдущего способа является то, что при встрече с командой call далее пошагово будут выполняться инструкции процедуры. Ø Оба способа пошагового выполнения (step over и step into) можно автоматизировать, если использовать так называемую анимацию (animation), соответственно, нажимая комбинации клавиш < Ctrl> +< F8> или < Ctrl> + +< F7>. При нажатии этих комбинаций клавиш команды " step over" и " step into" будут выполняться в автоматическом режиме одна за другой с небольшой задержкой. После каждой инструкции окна отладчика будут обновляться, так что можно отслеживать динамику изменений. В любой момент можно приостановить выполнение, нажав клавишу < Esc>. Выполнение приостанавливается также на точках останова () и в случае, если исполняемая программа генерирует исключение. Ø Еще один способ пошагового выполнения программы — это трассировка (trace). Она напоминает анимацию, но при этом на каждом шаге не обновляются окна отладчика. Два способа трассировки, соответствующие " step over" и " step into", выполняются с помощью комбинаций клавиш < Ctrl> +< F12> и < Ctrl> +< F11>. Остановить трассировку можно теми же способами, что и анимацию. После каждой команды информация о ее выполнении заносится в специальный трассировочный буфер, который можно просмотреть с помощью пункта меню View | Run trace. При желании содержимое буфера можно сбросить в текстовый файл. Можно определить условия, по которым будет происходить остановка трассировки (Set trace condition) — через комбинацию клавиш < Ctrl> +< T> (точка останова). При этом можно задать: • диапазон адресов, в котором будет произведен останов; • условные выражения, например, ЕАХ> 100000, при выполнении которых трассировка будет остановлена; • номер команды или набор команд, по которым будет произведен останов. Можно заставить отладчик выполнить код, пока не встретится возврат из процедуры (execute till return). Другими словами, будет выполнен весь код текущей процедуры и осуществлен возврат из нее. Для этого предназначена комбинация клавиш < Ctrl> +< F9>. Для выхода из процесса трассировки служит комбинация клавиш < Alt> +< F9>.
|