Система Turbo Profiler фирмы Borland
- Название:Система Turbo Profiler фирмы Borland
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Система Turbo Profiler фирмы Borland краткое содержание
Система Turbo Profiler фирмы Borland - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Рис. 4.30 Окно Disassembly CPU (Дисассемблер (ЦПУ)).
В левой части каждой из строк, полученных в результате дисассемблирования содержится адрес команды, либо в виде шестнадцатиричного значения <���сегмент>:<���смещение>, либо, в случае если значение сегмента неизменно, вместо него делается ссылка на текущее значение регистра CS и адрес записывается в виде CS: <���смещение>. Если окно достаточно широко (распахнуто или расширено) в нем также изображаются байты, составляющие команду. В правой части каждой строки показана символическая запись каждой из команд.
В окне Disassembly (CPU) (Дисассемблер (ЦПУ)), глобальные символы обозначаются просто своими именами. Статические же символы изображаются в виде:
<���имя модуля>.<���имя символа> /* Turbo C */
<���имя модуля>#<���имя символа> {Turbo Pascal}
где <���имя модуля> это имя модуля в котором находится статическая переменная с именем <���имя символа>. Номера строк изображаются в данном окне в виде:
<���имя модуля>.<���номер строки> /* Turbo C */
<���имя модуля>#<���номер строки> {Turbo Pascal}
где <���номер строки> — это десятичный номер строки модуля с именем <���имя модуля>.
В окне Disassembly CPU (Дисассемблер (ЦПУ)) Вы можете пользоваться клавишей F2 для того, чтобы пометить маркерами "области" любую машинную команду, за выполнением которой Вы хотите понаблюдать. Помеченная таким образом машинная команда фигурирует в окне Areas ("Области") в виде шестнадцатиричного адреса в форме <���сегмент>:<���смещение>.
При помощи команд локального меню окна Disassembly CPU (Дисассемблер (ЦПУ)):
+-+ +-+
| Goto | | Переход |
| Origin | | Начало |
| Follow | | Следующий |
| Previous | | Предыдущее |
| View source | | Просмотреть исходный текст |
| Mixed Yes | | Смешанный |
+-+ +-+
Вы можете быстро переместиться на следующие участки Вашей программы:
* на заданный адрес, для того, чтобы просмотреть код;
* на текущий адрес программы (CS: IP);
* на адрес назначения текущей команды;
* на адрес указателя предыдущей команды;
* на адрес в исходном тексте.
Также Вы можете воспользоваться командами локального меню для того, чтобы вызвать окно Module (Модуль) и установить курсор в этом окне на участок исходного текста, соответствующий текущей ассемблерной команде, или для изображения дизассемблированных команд и исходного текста тремя различными способами.
Для вызова локального меню данного окна нажмите Alt-F10. Для того, чтобы непосредственно обратиться к какой-нибудь команде данного меню (без предварительного вызова самого меню) пользуйтесь комбинацией клавиш вида Ctrl-<���буква>, где <���буква> — это выделенная буква соответствующей команды.
Команда Goto (Переход)
Вызов: Ctrl-G.
При выполнении команды Goto (Переход) на экране появляется блок диалога, запрашивающий у Вас адрес, на который Вы желаете попасть. Введите шестнадцатиричный адрес в формате, используемом в языке на котором написана Ваша программа.
Команда Origin (Начало)
Вызов: Ctrl-O.
Команда Origin (Начало) используется для перемещения на текущий адрес программы, задаваемый значениями, находящимися в двух регистрах CS: IP. Эта команда полезна в случае если Вы перемещались по тексту Вашей программы и в какой-то момент у Вас возникло желание вернуться обратно, на адрес, задаваемый текущим значением указателя команд (CS: IP), т. е. на ту команду, на которой остановилось выполнение Вашей программы.
При помощи команды Previous (Предыдущее) Вы можете восстановить предыдущее состояние окна Disassembly (CPU) (Дисассемблер (ЦПУ)), измененное в результате выполнения команды Origin (Начало).
Команда Follow (Следующий)
Вызов: Ctrl-F.
В результате выполнения команды Follow (Следующий) в окне Disassembly (CPU) (Дисассемблер (ЦПУ)) выделяется команда с адресом, равным адресу назначения текущей выделенной команды. Текст дизассемблированной программы прокручивается до тех пор, пока на экране не появится команда, на которую передается управление текущей выделенной командой. Для условных переходов считается, что условие перехода выполнено и осуществляется переход по соответствующему адресу.
Вы можете применять данную команду по отношению к операторам ассемблера CALL, INT, JMP, условным переходам (JZ, JNE, LOOP, JCXZ и т. д.).
При помощи команды Previous (Предыдущее) Вы можете восстановить предыдущее состояние окна Disassembly (CPU) (Дисассемблер (ЦПУ)), в котором данное окно находилось до выполнения команды Follow (Следуй).
Команда Previous (Предыдущее)
Вызов: Ctrl-P.
После выполнения какой-либо команды, изменяющей адрес, находящийся в указателе команд (такой команды как Goto (Переход), Origin (Начало) или Follow (Следуй)), при помощи команды Previous (Предыдущее) Вы можете вернуться назад ка адресу, на котором Вы находились до выполнения какой-нибудь из перечисленных команд. Если же Вы перемещаетесь по тексту с помощью клавиш управления курсором и клавиш PgUp и PgDn, то профилировщик не запоминает Вашего местонахождения, но тем не менее Вы всегда можете вернуться к началу, по адресу, находящемуся в данный момент в CS: IP.
Если Вы используете команду Previous (Предыдущее) несколько раз подряд, то при этом окно Disassembly (CPU) (Дисассемблер(ЦПУ)) будет переключаться поочередно между двумя адресами.
Команда View Source (Просмотреть исходный текст)
Вызов: Ctrl-V.
Команда View Source (Просмотреть исходный текст) приводит к открытию окна Module (Модуль) и изображению в этом окне исходного текста текущей подпрограммы.
Команда Mixed (Смешанный)
Вызов: Ctrl-M.
Существует три варианта изображения дизассемблированных команд и исходного текста в окне Disassembly (CPU) (Дисассемблер(ЦПУ)). Вы можете выбрать один из возможных форматов изображения при помощи команды локального меню Mixed (Смешанный), позволяющей переключаться между тремя значениями: No (Нет), Yes (Да) и Both (Оба).
No (Нет) означает, что изображаются только дизассемблированные команды, без показа исходного текста.
Тем не менее в режиме No (Нет) вместо адресов вызовов и переходов, а также ссылок на элементы данных используются глобальные имена.
Yes (Да) ведет к тому, что изображение имеет вид в котором за каждой строкой исходного текста следуют дизассемблированные команды, соответствующие данной строке.
Профилировщик автоматически устанавливает режим изображения в состояние Yes (Да) в том случае, если исходный текст текущего модуля написан на языке высокого уровня.
Both (Оба) означает, что в случае если имеется исходный текст для дизассемблированных команд, то изображается только этот текст, в противном случае изображаются сами дизассемблированные команды.
Профилировщик автоматически устанавливает режим изображения в состояние Both (Оба) в том случае, если исходный текст текущего модуля написан на языке ассемблера.
Читать дальшеИнтервал:
Закладка: