ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП |
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы. |
Часть 12 -112 - 12. ПРИЛОЖЕНИЯ СОДЕРЖАНИЕ Лист 12. Приложения...................................... 112 12.1. Краткое описание команд и режимов............... 113 12.1.1. Режимы.......................................... 113 12.1.2. Опции........................................... 114 12.1.3. Оконные команды................................. 115 12.1.4. Диалоговые команды.............................. 117 12.2. Сообщения об ошибках............................ 120 . - 113 - 12.1. Краткий справочник команд и режимов Это приложение содержит краткий справочник CodeView режи- мов, опций, команд. 12.1.1. Режимы Многие CodeView команды и опции используются для переключе- ния режимов. Отладчик имеет 4 типа режимов: экранный режимы, ре- жимы отладки, режимы отображения программы и режимы разделения экрана. Все режимы каждого из этих типов даны в табл. 12.1. Таблица 12.1. CodeView режимы ----------------------------------------------------------------- Тип Режим Назначение Команда или опция ----------------------------------------------------------------- Экранный Отладки Отладка программ Предопределенный Вывода Просмотр экрана F4 вывода программы Переключение экра- на (\) Output команда из View меню Помощи Краткая справка F1 команд и опций Help команда из View меню. Отладки Оконный Просмотр отлажи- Предопределенный ваемой программы для IBM в оконном режиме /W опция Последо- Просмотр отлажи- Предопределенный вательный ваемой программы для не-IBM в последователь- /T опция ном режиме Отобара- Исходно- Отображение строк Предопределенный жения го текста исходного текста для C программ програм- F3 мы S+ Sourse команда из View меню Ассемб- Отображение ассем- Предопределенный лера блерных инструкций для программ без - 114 - символьных таблиц F3 S- Assembly команда из View меню Смешан- Отображение ассем- S& ный блерных инструкций Mixed команда из и строк исходного View меню текста Разделе- Флиппинг Разделение экранов Предопределенный ния экра- с помощью видео- для IBM с CGA на страниц /F опция Свопинг Разделение экранов /S опция с помощью буфера ----------------------------------------------------------------- 12.1.2. Опции CodeView имеет следующие стартовые опции: /B старт в черно-белом режиме при цветном адаптере /C<команды> выполнение стартовых <команд> /F старт в флиппинге (разделение экранов отладки и вывода через видеостраницы) /M запрет mause /T Старт в последовательном режиме /S Старт в свопинге (разделение экранов отладки и вывода с помощью буфера) /W Старт в оконном режиме /43 Старт в 43-строчном режиме при EGA адаптере /2 Использование 2-х дисплеев отладки /D Запрещение спецефических MS-DOS'овских ф-ций (например, ctrl+break) /I Включение специфических DOS ф-ций - 115 - 12.1.3. Оконные команды В таблице 12.2 собраны спец-ключ-команды и их mouse'овские аналоги. Таблица 12.2. Оконные команды ----------------------------------------------------------------- Действие Спецключ Mouse ----------------------------------------------------------------- Выйти в экран помощи F1 Help команда из View меню Открыть окно регистров F2 Register команда из OPtions меню Включить режим исходного F3 Sourse/Assembly текста/ассемблера команда из View меню Переключиться в экран F4 Output команда вывода из View меню Выполнить F5 Щелкнуть любой на Go! Переключение из окна F6 Нельзя диалога в окно отладки Выполнить до F7 До места Щелкнуть правой расположения в месте располо- жения Трассировать поцедуру F8 Щелкнуть левой на Trace! Установить точку останова F9 На месте Щелкнуть левой в расположения месте расположения Трассировать через поцедуру F10 Щелкнуть правой на Trace! Изменить флаги Нельзя Щелкнуть любой на флаге Переместить разделитель CTL+U Тащить вверх вверх Переместить разделитель CTL+D Тащить вниз вниз Листать окно на линию вверх Нельзя Щелкнуть левой на стрелке вверх Листать окно на страницу PGUP Щелкнуть правой вверх на стрелке вверх Листать окно в начал HOME Щелкнуть двумя на стрелке вверх - 116 - Листать окно на линию вниз Нельзя Щелкнуть левой на стрелке вниз Листать окно на страницу PGDN Щелкнуть правой вниз на стрелке вниз Листать окно в конец END Щелкнуть двумя на стрелке вниз Перемещать курсор Стрелка вниз/вверх Нельзя ----------------------------------------------------------------- Таблица 12.3 содержит список команд меню с комментариями Таблица 12.3 Команды меню ----------------------------------------------------------------- Меню Команда Действие ----------------------------------------------------------------- File Load... Загрузка нового текстового файла. Shell Старт нового DOS COMMAND.COM'а. Quit Выход из отладчика. ----------------------------------------------------------------- Search Find... Поиск первого регулярного выражения. Next Поиск следующего регулярного выражения. Pervious Поиск предыдущего регулярного выражения. Label... Поиск функции или метки. ----------------------------------------------------------------- View Help Открытие полномаштабного меню. Source Переключение в режим исходного текста. Assembly Переключение в режим ассемблера. Output Переключение в экран вывода. Evaluate... Вычисление выражения. ----------------------------------------------------------------- Run Start Рестарт и выполнение текущей программы. Restart Рестарт текущей программы. Execute Выполнение в замедленном режиме. Clear Удаление всех точек останова. Breakpoints ----------------------------------------------------------------- Watch Add Watch Установка выражений на просмотр. Watchpoint...Установка контролируюших выражений. Tracepoint...Установка памяти на контроль. Delete Удаление сторожевых операторов. Watch ----------------------------------------------------------------- Options Flip/Swap Вкл\выкл экранного обмена. Mix Source Вкл\выкл режима смешивания текста. Symbols Вкл\выкл режима подстановки символьных имен. Bytes Coded Вкл\выкл отображения байтов кода. Registers Вкл\выкл окна регистров. Case Sense Вкл\выкл чувствительности к малым буквам. Calls <функции> Переход на последнюю выполненную строку программы. ----------------------------------------------------------------- - 117 - 12.1.4. Диалоговые команды В этом разделе в алфавитном порядке описаны CodeView коман- ды и их синтаксис. Многие из CodeView команд (таких как Дамп, Ввести, Сторожить и Контролировать память) используют специфика- торы типа, описывающие вид и размер вводимых/выводимых данных. Вот эти спецификаторы: Тип Назначение Пусто Умалчиваемый тип, введеный пследней из команд Дамп, Ввести, Сторожить и Контролировать память. A ASCII (8-битовые символы). B Байтовый тип (8-битовое 16-ричное значение). I Целое 16-битовое десятичное значение; эквивалент C int (знаковому). U Беззнаковое целое 16-битовое десятичное значение; эквивалент C unsigned. W Слово (16-битовое 16-ричное значение). D Двойное слово (32-битовое 16-ричное значение). S Короткое с плавающей (32-битовое); Эквивалент C'ному float. L Длинное с плавающей (64-битовое); Экви- валент C'ному double. T 10-байтовое с плавающей (80-битовое). Диалоговые команды и их синтаксис даны в таблице 12.4. Таблица 12.4. Диалоговые команды ----------------------------------------------------------------- Имя Синтаксис Описание ----------------------------------------------------------------- Ассемблировать A[<адрес>] Вводить ассемблерные команды, начиная с <адреса>. Стирание точек BC[<список>] Стереть точки останова из останова <списка>. Подавление точек BD[<список>] Подавить точки останова из останова <списка>. Восстановление BE[<список>] Восстановить подавленные точек останова точки останова из <списка>. Список точек BL Список точек останова. останова - 118 - Установка BP[<адрес>[<счетчик>]["<команды>"]] точек останова Установить точку останова по <адресу>, со счетчиком проходов <счетчик> и списком выполняемых "<команд>". Комментарий * Вывести комментарий Задержка : Замедлить выполнение команд. Значение выражения ?<выражение>[,<формат> Вывести значение <выражения> в <формате>. Дамп D[<тип>][<адрес>] Дамп <отрезка> памяти в <тип> формате. Ввести E[<тип>]<адрес>[<список>] Ввод <списка> значений в <тип> формате. Контроль имен X?[<модуль>!][<функция>.] <имя>][*] Выполнять E Выполнение программы в за- медленном режиме. Выполнить G[<адрес>] Выполнение программы до спе- цифицированного <адреса> или до конца. Подсказка H Вывод краткой командно-син- таксической справки. Пауза " Прервать выполнение команд до нажатия любого ключа. Программный шаг P[<счетчик>] Выполнить <счетчик> строк исходного текста или ассем- блерных инструкций. Выход Q Выйти в MS-DOS. Радикс N[<основание>] Установить систему исчисле- ния (16-ричную, 10-тичную..) Переназначение [T]>[>]<устройство> Назначить ввод (или вывод) <<устройство> на <устройство>. =<устройство>Перерисовать @ Восстановить экран отладки. Регистр R[<регистр>[[=]<выражение>]] Высветить или изменить ре- гистры или флаги ЦП. Рестарт L[<аргумент>] Рестарт программы с <аргу- ментами. Экран вывода \ Временный выход в экран вывода. Поиск /[<регулярное выражение>] Поиск строки исходного текста. Установка режима S[+:-:&] Установка режима отображе- ния программы. Загрузка командного ![<команда>] Временный выход и выпол- процессора нение MS-DOS'овских команд или транзитных программ. Текущее расположение . Вывод текущей строки исход- ного текста. Стек вызовов K Вывод текущих активных про- цедур и их аргументов. Установка табуляции #<размер> Установка размера табуляции. Трассировать T[<счетчик>] Выполнить <счетчик> строк исходного текста или ассем- блерных инструкций, провали- ваясь вподпрограммы. - 119 - Контролировать TP? <выражение>[,<формат>] Прерывание выполнения по из- изменение TP[<тип>] [<отрезок>] менению значения <выражения> или <отрезка>. Дезассемблировать U [<отрезок>] Дезассемблировать <отрезок> памяти. Просмотреть V [<адрес>] Просмотр строк исходного тек- ста. Сторожить W? <выражение>[,<формат>] Высвечивать значение <выраже- W[<тип>] [<отрезок>] ния> или <отрезка> памяти. Удалить стражзаписи Y [<номер>] Удаление сторожевых записей. Список стражзаписей W Список сторожевых записей. Контроль выражений WP? <выражение>[,<формат>]Прерывание выполнения по дос- тижению <выражением> значения true. 8087 7 Высветить регистры 8087 процессора. ------------------------------------------------------------------ Некоторые из команд, такие как ?, W?, WP?, TP?, позволяют вам специфицировать формат, в котором они будут высвечиваться. <Формат> - это printf спецификация типа, и их перечень дан в табл. 12.5. Таблица 12.5. Спецификации типа ---------------------------------------------------------- Символ Формат вывода Примерное Пример выражение вывода ---------------------------------------------------------- d Десятичный знаковый ?40000,d -25536 целый. i Десятичный знаковый ?40000,i -25536 целый. u Десятичный беззнаковый ?40000,u 40000 целый. o Восьмеричный беззнаковый ?40000,o 116100 целый. x|X Шестнадцатеричный целый. ?40000,x 9c40 (1) f Знаковое значение float ?(float)3/2,f 1.500000 в десятичном формате с 6 цифрами после запятой. e|E Знаковое значение float ?(float)3/2,e 1.500000e+000 (2) в десятичном формате с 6 цифрами после запятой и порядком. g|G Знаковое значение float ?(float)3/2,g 1.5 (2) в компактном виде. - 120 - c Знаковое символьное. ?65,c A s Символы печатаются до ?"строка",s строка первого нулевого символа. ---------------------------------------------------------- Примечания. 1. Если x маленькое, то шестнадцатеричные цифры A-F высве- чиваются маленькими буквами, если нет, то нет. 2. Если e или g маленькие, то указатель порядка высвечива- ется маленькой буквой, если нет, то нет. Если спецификатор формата не указан, значения типа float и double высвечиваются в g формате; если тип выражения знаковый, то в формате d, а если беззнаковый, то в формате u. Указатели высве- чиваются в формате u. Префикс h должен использоваться с целыми спецификаторами (d,o,u,x,X) для спецификации short int. Префикс l должен исполь- зоваться для спецификации long int. Примечание. Спецификаторы n и p и префиксы F и H не поддерживаются CodeView. 12.2. Сообщения об ошибках CodeView выдает сообщения об ошибках в том случае, когда он не может выполнить введенную команду. Все ошибки (за исключением стартовых) снимают выполнение ошибочной команды, но не снимают сам отладчик. Ниже приведен список всех ошибок и комментариев к ним. Bad address Неправильно специфицирован адрес. Например, вы ввели адрес в 16-ричном виде, а текущий радикс - 10. Bad breakpoint command Введен неправильный номер точки останова в одной из команд Стереть, Подавить или Восстановить точку останова. Номера точек останова находятся в интервале от 0 до 19. Bad flag В диалоговой команде регистр (R) неправильно специфицирова- но имя какого-либо флага. Команда RF выводит все мнемонические имена флагов. Bad format string Неправильно специфицирован спецификатор типа. Спецификатор типа - это printf формат, синтаксис его употребления: <выраже- ние>, |