|
Программирование >> Перегруженные имена функций и идентификаторы
Goto Позиционирует вывод на новую строку (при просмотре текстового файла) или смещение в файле (при шестнадцатеричном выводе). Search Ищет строку символов, начиная с текущей позиции курсора. Для ввода строки выводится окно Enter Search String. При шестнадцатеричном выводе можно задать список байт (в соответствии с используемым языком). Допускаются трафаретные символы (* и ?). Next Ищет следующий экземпляр строки, заданной в команде поиска. Display As Переключает вывод между текстовым и шестнадцатеричным форматом. File Позволяет сменить файл, выводимый в окне File. Окно File не дублируется. Чтобы просматривать два файла одновременно, выберите команду View Another File. Edit Эквивалентна соответствующей команде окна Module. Отладка на уровне ассемблера При отладке программы на языке высокого уровня обычно достаточно отладки на уровне исходного кода. Однако иногда может потребоваться проанализировать программу глубже. Окно CPU Это окно открывается командой View CPU строки меню и использует различные области для описания состояния вашей программы на нижнем уровне. Его можно использовать для: просмотра машинного кода и дизассемблированных инструкций программы; проверки и модификации байт структур данных программы; тестирования исправления ошибок с помощью встроенного ассемблера в области кода. Область кода показывает машинный код и дизассемблированные машинные инструкции вашей программы. Здесь могут также выводиться строки исходного кода. В области регистров выводится содержимое регистров ЦП. В области флагов показывается состояние 8 флагов процессора. В области дампа выводится шестнадцатеричный дамп любой области памяти, доступной для программы. Область стека показывает шестнадцатеричное содержимое стека программы. Область селекторов доступна только для TDW и показывает все селекторы Windows. Для адресных ссылок вне текущего сегмента в окне CPU выводятся знаки вопроса. Клавиша Ctrl в сочетании со стрелками позволяет сдвигать вывод на 1 байт. При выполнении кода Windows, модуля без отладочной информации, остановке программы на инструкции внутри строки исходного кода или при трассировке инструкций с помощью Alt+F7 окно CPU выводится автоматически. Область кода В левой части области кода выводятся адреса дизассемблированных инструкций. Для 16-разрядного кода они имеют вид сегмент:смещение , а для 32-разрядного это 32-разрядные адреса. Стрелка (>) справа от адреса памяти указывает текущий адрес программы (следующую выполняемую инструкцию). Справа выводится шестнадцатеричный машинный код с соответствующей дизассемблированной инструкцией. Глобальные идентификаторы выводятся в виде имени, статические - в виде имени модуля с символов # и именем идентификатора, а номера строк представлены как имя модуля, # и номер строки. Клавиша F2 позволяет устанавливать/отменять точки останова. Меню SpeedMenu области кода содержит команды, позволяющие перемещаться по ней и ассемблировать вводимые инструкции. TDW имеет дополнительную команду ввода-вывода, а TD 32 - команды Threads и OS Exceptions. Goto Вам выводит окно Enter Address to Position To для ввода нового адреса, на который вы хотите перейти. Вы можете ввести адрес, выходящий за пределы программы, что позволяет проверить базовую систему ввода-вывода (BIOS), внутренние области DOS и Windows. Origin Позиционирует вас на текущий адрес программы. Используется для перемещения. Follow Позиционирует область кода по целевому адресу текущей подсвеченной инструкции. Используется в сочетании с инструкциями передачи управления (CALL, JMP, INT) и условного перехода (JZ, JNE, LOOP и др.). Caller Позиционирует вас на инструкцию, вызвавшую текущее прерывание или подпрограмму. Если текущая подпрограмма прерывания занесла данные в стек, то Turbo Debugger может не иметь возможности определить, откуда она вызвана. Previous Восстанавливает позицию области кода в соответствии с адресом, который был текущим перед последней командой, явно изменившей его значение. Использование клавиш перемещения на команду не влияет.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |