Интегрированная Среда Разработки Программ СОДЕРЖАНИЕ 1. Введение 2 1.1. Обозначения 2 2. Редактор РК 3 2.1. Вход в редактор. Завершение сеанса редактирования 3 2.2. Получение справочной информации и информации о состоянии редактора 3 2.3. Основные понятия редактора РК 3 2.4. Операции с файлами. Файлы-каталоги 4 2.5. Операции со строками 6 2.6. Операции со словами. Словарь 7 2.7. Операции с символами. Перемещение по тексту 8 2.8. Коэффициент кратности команд 10 2.9. Откатка 11 2.10. Полиэкран 11 2.11. Макрокоманды 12 2.12. Языково-ориентированные возможности 13 2.13. Запуск файлов на обработку 14 2.14. Форматирование текстов 15 3. Отладчик КРОТ 17 3.1. Определения 17 3.2. Команды отладки 17 4. Резюме 20 1. ВВЕДЕНИЕ Интегрированная Среда Разработки Программ (ИСРП) включает в се- бя экранный редактор РК, непосредственный отладчик КРОТ, систе- му управления базами данных СФЕРА, подсистему печати и фонд системно-зависимых программ. Ядром ИСРП является экранный редактор РК. За счет интеграции с ним остальные компоненты ИСРП существенно выигрывают в силе. Например, возможность просматривать и редактировать файлы при отладке программы отладчиком КРОТ позволяет программисту при- нять во внимание гораздо больше информации, чем при использова- нии традиционных отладчиков. В результате удается успешно отла- живать программы, насчитывающие сотни тысяч строк исходного текста. Далее следуют описания редактора РК и отладчика КРОТ, в которых затронуты лишь основные возможности. Более полную информацию можно извлечь из Руководства по ИСРП. Разумеется, изучать интерактивные системы полезно в непосредст- венном контакте с ними, немедленно пробуя новые возможности. 1.1. Обозначения Одновременное нажатие клавиш обозначается знаком +. Например, запись |CTRL+SHIFT+F1 предписывает одновременно нажать три клавиши - CTRL, SHIFT и F1. Последовательно нажимаемые клавиши записываются через пробел. 2. Редактор РК Экранный редактор РК разработан в Научно-производственном цент ре по проблемам САПР в машиностроении ПО ЗиЛ и АН СССР под ру- ководством В.Б. Бетелина и Г.А. Прилипко. Редактор РК является чрезвычайно мощным инструментом, с помощью которого можно гото- вить к публикации обычные тексты, вводить и редактировать текс- ты программ, создавать техническую документацию. Далее предполагается, что читатель имеет представление об эк- ранном редактировании, поэтому явно не упоминаются такие оче видные вещи, как, например, то, что операндами операций редак- тирования являются объекты в окрестности курсора или то, что по файлу можно перемещаться с помощью клавиш управления курсором. Следует отметить лишь одну специфическую особенность редактора РК. В начале редактирования файл считывается в оперативную па- мять, где и производится редактирование. Только по явной коман- де сохранения результирующий файл будет записан на диск. 2.1. Вход в редактор. Завершение сеанса редактирования Для входа в редактор РК следует выполнить команду |rk При этом произойдет вход в файл .dir текущего каталога или в пустое окно (то есть в окно, не связанное ни с каким файлом), если файл .dir отсутствует. Для завершения сеанса редактирования служит команда редактора CTRL+C CTRL+T. 2.2. Получение справочной информации и информации о состоянии редактора Чтобы, находясь в редакторе, попасть в каталог справочной ин- формации, следует нажать клавиши TAB S TAB. Для получения информации о состоянии редактора предназначена команда TAB ESC. Если после этого нажать пробел, информация о состоянии исчезнет с экрана. 2.3. Основные понятия редактора РК Основными понятиями редактора РК являются: Файл. Строка. Слово. Символ. 2.4. Операции с файлами. Файлы-каталоги Простым, но мощным средством наглядной работы с файлами в ре- дакторе РК являются так называемые файлы-каталоги. С точки зре- ния операционной системы это обычные текстовые файлы, строки которых имеют следующую структуру: |комментарий | имя_файла (символ | вводится последовательным нажатием клавиш HOME !). Имя_файла есть имя в смысле операционной системы. Комментарий призван пояснить назначение файла. Поместив курсор в любое место подобной строки, можно выполбять обычные операции с файлами: F5 F11 Создать файл с указанным именем. F5 F8 Войти в файл (начать или продолжить редактирование файла). F5 F12 Y Удалить файл (нажатие Y играет роль подтвержде- ния). F5 F10 Запустить файл на обработку. Способ обработки оп- ределяется окончанием имени файла. Например, если имя кончается на .c, предполагается, что в файле находится исходный текст на языке C, а обработка заключется в компиляции этого текста. За именем файла могут располагаться опции, влияющие на обра- ботку (например, отладочная опция -krot). F5 F6 Запустить файл на выполнение (имеет смысл для го- товых программ и shell-процедур). За именем файла могут располагаться аргументы командной строки. F5 CTRL+\ Получить информацию о файле (размер, режим и время доступа и т.п. После нажатия любой клавиши инфор- мация о файле исчезает с экрана. F5 CTRL+SHIFT+F14 Переименовать файл (после того, как в строке фай- ла-каталога старое имя заменено новым). Отметим, что клавиша F5 играет роль префикса операций с файла- ми. Есть еще один способ входа в файл и одновременно еще один спо- соб указания операндов редактирующего действия - указать нужно имя в строке запроса редактора. По команде CTRL+SHIFT+F1 на эк- ране появится строка запроса и предложение ввести имя файла. В ответ нужно ввести имя и нажать клавишу NEW_LINE. Если файл не существовал, его следует создать, нажав перед NEW_LINE клавиши F5 F11 . Наконец, если по какой-либо причине в файл входить уже не нужно, рекомендуется очистить строку запроса и нажать NEW_- LINE. Запрос исчезнет. Аналогично, существует способ выполнения файлов, когда нужная команда shell'а вводится в ответ на запрос - это нажатия CTRL+F5 F6. После завершения ввода нужно нажать NEW_LINE, и ко- манда будет выполнена. Имеется несколько способов завершения редактирования файла: CTRL+T CTRL+T Завершение редактирования с сохранением результа тов. CTRL+T CTRL+N Завершение редактирования без сохранения результа- тов. CTRL+T CTRL+E Завершение редактирования с сохранением результа тов и запуском файла на обработку. CTRL+T CTRL+U Сохранение результатов редактирования без выхода из файла. CTRL+T CTRL+O Завершение редактирования с сохранением результа- тов в файле, имя которого вводится в ответ на зап- рос редактора. Наличие комментариев в файле-каталоге позволяет по существу за- быть об именах в смысле операционной системы и работать в тер- минах, понятных пользователю. Далее, поскольку в строках файла- каталога могут стоять имена других каталогов, появляется воз- можность иерархической организации информации, когда на каждом уровне находится обозримое количество файлов, сгруппированных по темам. Файл /usr/guest/.dir является примером корня подобной иерархии. Рекомендуется побродить по указанному дереву катало- гов, запустить на компиляцию несколько программ из каталога /usr/guest/test/.dir, получить информацию о некоторых файлах. 2.5. Операции со строками Редактор РК, помимо прочих, предоставляет следующие операции со строками: F11 Вставить пустую строку. F12 Удалить строку. CTRL+] Получить информацию о текущей позиции курсора (но мер строки в файле и позиции в строке). Нетрудно провести аналогию между первыми двумя операциями и действиями по созданию/удалению файлов. В редакторе существует буфер строк, который можно пополнять, а затем вставлять его содержимое перед текущей строкой: F15 Запомнить в буфере текущую строку. CTRL+F15 Удалить текущую строку с запоминанием ее в буфере. SHIFT+F15 Вставить содержимое буфера строк. CTRL+SHIFT+F15 Очистить буфер строк. Разумеется, можно запомнить строки в одном файле, а вставить содержимое буфера - в другом. Аналогично, можно наполнять буфер строками из разных файлов. Отметим, что буфер автоматически очищается, когда после вставки выполняется первая команда запоминания. Упомянем еще несколько полезных команд, оперирующих со строка- ми: CTRL+F13 Склеить текущую и следующую строки. SHIFT+F13 Разрезать текущую строку по позиции курсора. CTRL+D Удалить конец строки (от позиции курсора). CTRL+U Удалить начало строки. CTRL+A Переместиться в конец строки. 2.6. Операции со словами. Словарь Редактор РК предоставляет следующие операции над словами: TAB ERASE_PAGE Удалить текущее слово (то есть слово, на которое указывает курсор). TAB стрелка_вверх/вниз Произвести поиск текущего слова в указанном нап- равлении. Редактор РК способен хранить словарь, в который целесообразно поместить часто используемые слова. Затем такие слова можно вводить с помощью сокращений - нескольких первых букв. Исполь- зование словаря не только ускоряет ввод программ и обычных текстов, но и уменьшает число ошибок. Кроме того, появляется реальная возможность использовать длинные мнемоничные имена пе- ременных. Перечислим команды работы со словарем: TAB F13 Запомнить текущее слово в словаре. F13 Вставить слово, с которым выполнялась последняя словарная операция. F14 Вставить слово из словаря, на сокращение которого указывает курсор. CTRL+F5 TAB В ответ на запрос редактора ввести имя файла, сло- ва из которого будут добавлены к словарю. Предпо лагается, что в каждой строке файла располагается по одному слову. Поясним действие клавиши F14. Если в словаре запомнено слов программа, то после ввода любого начала слова - п, пр, про и т.п., и нажатия F14 в редактируемый файл будет вставлено все слово программа. Если в словаре имеется несколько слов, начина- ющихся с некоторого сокращения, то при последовательных нажати ях клавиши F14 эти слова будут по очереди появляться на экране, пока пользователь не остановит свой выбор на каком-то одном. Словарь хранится во внутреннем файле редактора. Имя этого файла - Словарь (символ набирается как HOME *). Для сохранения словаря в обычном файле рекомендуется войти в Словарь, а затем воспользоваться командой CTRL+T CTRL+O. 2.7. Операции с символами. Перемещение по тексту Для ввода обычного символа нужно просто нажать соответствующую клавишу. Для ввода русских букв нужно нажать клавишу CR, после чего латинские буквы будут восприниматься редактором как соот- ветствующие русские. Например, для ввода русской буквы р нужно нажать клавишу r, для ввода буквы в - клавишу w и т.п. Разуме ется, если держать нажатой клавишу SHIFT соответствующая буква будет восприниматься как прописная. В следующей таблице перечислены русские буквы и соответствующие им клавиши. Отметим, что твердый знак вводится за два нажатия. | +---------------+---------+ | | Русская буква | Клавиша | | +---------------+---------| | | а | a | | | б | b | | | в | w | | | г | g | | | д | d | | | е | e | | | ж | v | | | з | z | | | и | i | | | й | j | | | к | k | | | л | l | | | м | m | | | н | n | | | о | o | | | п | p | | | р | r | | | с | s | | | т | t | | | у | u | | | ф | f | | | х | h | | | ц | c | | ч | = | | ш | [ | | щ | ] | | ъ | HOME . | | ы | y | | ь | x | | э | \ | | ю | ` | | я | q | +---------------+---------+ После повторного нажатия CR латинские буквы будут воспринимать- ся редактором обычным образом. Подчеркнем, что описанный способ ввода русских букв относится только к редактору РК, но не к непосредственному взаимодействию с shell'ом. Редактор может находиться в одном из двух режимов - вставки или замены. Для переключения между этими режимами следует нажать CTRL+E. С помощью клавиши DEL удаляется символ слева от курсора. Клави- ша ERASE_PAGE удаляет текущий символ. Полезно проследить, как клавиша DEL взаимодействует с режимом вставки/замены. Для вставки пробела можно воспользоваться клавишей ERASE_EOL. Существует буфер символов, аналогичный буферу строк. Для опера- ций с ним отведена клавиша F3: F3 Запомнить в буфере текущий символ. CTRL+F3 Удалить текущий символ с запоминанием его в буфе- ре. SHIFT+F3 Вставить содержимое буфера символов. CTRL+SHIFT+F3 Очистить буфер символов. Для выполнения поиска цепочки символов следует нажать CTRL+P и в ответ на запрос ввести искомую цепочку. Для повторения поиска служит команда CTRL+R. Аналогично, замена с запросом выполняется по команде CTRL+SHIFT+F14, а повторная замена - по CTRL+V. Перейдем теперь к быстрому перемещению по файлу. Для горизон- тальной табуляции влево/вправо служат клавиши C1 и C2, вверх/в- низ - C3 и C4. Если представлять себе файл в виде прямоугольни ка, правая граница которого определяется самой длинной строкой, то нажатие SHIFT+стрелка вызывает перемещение в указанном нап- равлении "до упора", то есть до границы прямоугольника. Перед выполнением некоторых операций редактор запоминает теку- щее положение в файле. К таким операциям относятся поиск, зам на, перемещение до упора. Чтобы вернуться в запомненную пози- цию, следует нажать SHIFT+F2. 2.8. Коэффициент кратности команд В редакторе РК имеется возможность многократного выполнения ко- манд. Для задания коэффициента кратности служит конструкция |ESC число Например, чтобы ввести строку из 60 минусов, достаточно после- довательно нажать четыре клавиши: |ESC 6 0 - Часто используются два специфических коэффициента кратности ESC стрелка_вниз и ESC стрелка_вверх. Они означают, что дейст вие следует выполнять в указанном направлении до упора. Так, чтобы удалить все строки, начиная с текущей, можно воспользо- ваться последовательностью нажатий |ESC стрелка_вниз F12 В принципе для той же цели можно было задать большой числовой коэффициент кратности, но предложенный способ корректнее. 2.9. Откатка Нередко возникает желание отказаться от произведенных изменений и вернуться к одному из предыдущих состояний файла. Подобное действие называется откаткой. Редактор РК запоминает все состо- яния строк всех файлов, редактировавшихся во время текущего се- анса. Чтобы вернуться к предыдущему состоянию редактируемого файла, нужно нажать CTRL+SHIFT+F4. Несколько нажатий приведут к откатке на несколько шагов. Если оказалось, что откатка зашла слишком далеко, можно "откатить откатку", нажав CTRL+F4. Наличие откатки на произвольное число шагов создает особый пси- хологический комфорт для пользователей редактора РК, поскольку они знают, что заведомо не делают ничего непоправимого - в слу чае чего всегда можно "взять назад" произвольное число ходов. Отметим еще один принцип редактора РК - если что-то можно, то это можно везде и в любом количестве. Например, откатка приме- нима к строкам запроса, то есть для повторения предыдущей ко- манды shell`а, выполнявшейся из редактора, достаточно нажать |CTRL+F5 F6 CTRL+SHIFT+F4 NEW_LINE сколь бы длинной команда ни была. В результате при работе в РК удобства конкретного shell'а не имеют большого значения - сам РК предоставляет достаточно удобств. 2.10. Полиэкран Если возникает нужда одновременно видеть на экране несколько файлов, можно воспользоваться командами редактора РК для деле- ния экрана на окна: HOME C4 Разделить экран (текущее окно) по горизонтали на два окна, граница между которыми проляжет под те кущей строкой. HOME C2 Разделить экран (текущее окно) по вертикали с гра- ницей справа от текущей позиции. Команды HOME C3 и HOME C1 служат для слияния соседних окон. Чтобы переместиться в соседнее окно, нужно выполнить команду HOME стрелка. Тем самым клавиша HOME играет роль префикса, обозначающего операции с окнами. Если один файл виден в нескольких окнах, то все изменения, про- изводимые в одном окне, немедленно отображаются в остальных ок- нах. Начинающим пользователям можно рекомендовать с начала сеанса выделять окно для просмотра справочной информации по редактору. Сделать это можно следующим образом: Выделить сверху небольшое окно, нажав HOME C4. Войти в этом окне в справочный каталог, нажав TAB S TAB. Спуститься по справочному каталогу, подведя курсор к нужной строке и нажав F5 F8. Возможно, данное действие придется повторить несколько раз. Перейти в нижнее окно, нажав HOME стрелка_вниз, и на- чать там обычную работу. При необходимости посредством нажатий HOME стрелка_в- верх перемещаться в справочное окно и находить там нуж- ную информацию, после чего возвращаться в рабочее окно. 2.11 Макрокоманды Редактор РК позволяет с любой последовательностью клавиш свя- зать любую последовательность действий. Этой цели служит аппа- рат макрокоманд. Работа с макрокомандами состоит из двух фаз - определения мак- рокоманды и ее использования. Макрокоманда определяется следующим образом: |F1 F2 имя_макро F2 тело_макро F2 Имя_макро - это последовательность клавиш, по которой макроко- манда будет вызываться. Тело_макро составляют действия, необхо- димые для выполнения макрокоманды. Отметим, что во время опре- деления макрокоманды редактирующие действия выполняются обычным образом. Определим макрокоманду, которая переставляет строки файла в об- ратном порядке. Сначала зададим вспомогательное действие - пе ремещение курсора на шаг вверх и удаление текущей строки с за поминанием в буфере. Макрокоманду назовем F4 a: |F1 F2 F4 a F2 стрелка_вверх CTRL+F15 F2 После ввода этого макроопределения нужно сделать две вещи: от катиться на один шаг, нажав CTRL+SHIFT+F4 (чтобы восстановить удаленную строку), и очистить буфер от только что попавшей туда строки, нажав CTRL+SHIFT+F15. Теперь определим нужную нам команду. Назовем ее F4 b. Сначала эта команда перемещает курсор в конец файла, затем вверх до упора выполняет вспомогательную макрокоманду, после чего встав- ляет содержимое буфера: |F1 F2 F4 b F2 SHIFT+стрелка_вниз | ESC SHIFT+стрелка_вверх F4 a SHIFT+F15 F2 Обратим внимание на три момента. Во-первых, коэффициент крат ности ESC ... относится именно к команде (в данном случае F4 a), а не просто к одиночной клавише. Во-вторых, имена макроко- манд следует подбирать таким образом, чтобы одно из них не слу- жило префиксом другой, иначе у редактора будут трудности с вы явлением конца команды. В-третьих, каждая макрокоманда действу ет только в определенном контексте. Контекст определяется име нем редактируемого файла. Например, если имя оканчивается на .c, то в файле действуют макрокоманды для обработки C-текстов. В .for-файле эти макрокоманды действовать не будут. 2.12. Языково-ориентированные возможности Некоторые возможности редактора РК специально ориентированы н работу с исходными текстами на языках ФОРТРАН 77 и C. В первую очередь следует упомянуть о стандартных макрокомандах для ввода языковых конструкций. Имена этих макрокоманд строятся по следу- ющему принципу. Если вводится однострочная конструкция, в ка- честве первой клавиши нажимается TAB, в противном случае - ESC. Далее нажимаются две первые буквы конструкции. Например, нажа- тия |ESC m a в .c-файле приведут к вставке конструкции |main (argc,argv) |int argc; |char* argv[]; |{ | |} Если в .for-файле нажать |TAB d b то будет вставлено |double precision Использование стандартных макрокоманд увеличивает скорость вво да программ и уменьшает число синтаксических ошибок. В редакторе РК реализована еще одна важная операция - поиск места определения языкового объекта (переменной, функции, метки и т.п.). Во время поиска, во-первых, учитывается блочная струк- тура языка C, а во-вторых, выполняется просмотр файлов, вклю- чаемых в текст директивами include. Очевидно, "ручной" поиск подобных определений весьма трудоемок. Итак, если указать кур- сором объект и нажать HOME HOME, будет найдено место определе- ния этого объекта, куда и переместится курсор. После этого в прежнюю позицию можно вернуться, нажав SHIFT+F2. (Если место определения оказалось во включаемом файле, до возврата в преж- нюю позицию нужно выйти из файла, нажав CTRL+T CTRL+T.) Нельзя не упомянуть и о механизме фильтров, позволяющем управ- лять внешним представлением файлов. Каждый фильтр отбирает для показа определенные строки. Например, можно установить фильтр, делающий видимыми только заголовки подпрограмм и функций - для этого нужно нажать ESC HOME. Изображение на экране, скорее все- го, сожмется до нескольких строк и файл станет видимым как бы с высоты птичьего полета. После этого можно легко переместить курсор к заголовку нужной подпрограммы (функции) и, восстановив обычный способ показа (ESC ERASE_PAGE), начать редактировать ее текст. Рекомендуется войти в файл /usr/guest/test/tect1.for и проделать описанные действия. 2.13. Запуск файлов на обработку При запуске файла на обработку (по нажатию F5 F10) выполняется shell-процедура bcompiler, которой передаются имя файла и за данные опции обработки. Конкретный способ обработки определяет- ся окончанием имени файла. Перечислим несколько возможных окон чаний и соответствующих им действий: | +-----------+------------------------------------------------+ | | Окончание | Способ обработки | | +-----------+------------------------------------------------| | | .c | Трансляция с языка C | | | .for | Трансляция с языка Фортран 77 компилятором svs | | | .f | Трансляция с языка Фортран 77 компилятором f77 | | | .s | Трансляция с языка ассемблера | | | .pas | Трансляция с языка Паскаль | | | .bld | Редактирование внешних связей | | | .mk | Запуск утилиты make -f | | | .pf | Запуск на печать | | +-----------+------------------------------------------------+ Дадим несколько пояснений. На станции БЕСТА доступны два компи- лятора с языка Фортран 77. К сожалению, компилятор f77(1) со- держит ряд ошибок, поэтому предпочтительнее пользоваться компи- лятором svs(1). При редактировании внешних связей в .bld-файле должны быть ука- заны имена объектных файлов и библиотек, участвующих в процессе сборки готовой программы. Если в одной строке указано несколько имен файлов или библиотек, они должны разделяться пробелами. Имя готовой программы получается из имени .bld-файла отбрасыва- нием окончания .bld. Файл-каталог /usr/guest/test/.dir содержит примеры файлов с текстами на разных языках программирования и соответствующих .bld-файлов. Заказы на обработку ставятся в очередь и выполняются по одному, поэтому редактирование внешних связей можно запускать, не дожи- даясь конца компиляции (особенно если есть уверенность в безо- шибочности программы). Сообщения о результатах обработки (в частности, диагностика компиляторов) помещаются в файлы с окон- чанием .res. Если курсор указывает на имя обрабатывавшегося файла, то для входа в .res-файл достаточно нажать F5 1. 2.14. Форматирование текстов С помощью редактора РК удобно готовить тексты для последующей распечатки. О возможности ввода слов по сокращениям уже упоми- налось. Редактор позволяет также форматировать абзацы, выравни- вая их по левому и правому краям: CTRL+SHIFT+F11 Установить левую границу форматирования по позиции курсора. CTRL+SHIFT+F12 Установить правую границу форматирования по пози- ции курсора. CTRL+SHIFT+F13 Отформатировать текущий абзац, начиная с текущей позиции. TAB CTRL+SHIFT+F13 Включить/выключить режим автоматического формати рования абзацев. При включенном режиме автоматического форматирования нажатие пробела за правой границей абзаца вызывает выравнивание текущей строки и, быть может, перенос слова на следующую строку. Пере- нос выполняется в соответствии с правилами грамматики. 3. ОТЛАДЧИК КРОТ Отладчик КРОТ предназначен для работы с программами на языках Фортран 77 и C. На размеры отлаживаемых программ не накладыва- ется никаких ограничений. Отладчик КРОТ функционирует в рамках Интегрированной Среды Раз- работки Программ, поэтому в процессе отладки доступны все средства ИСРП, то есть можно редактировать файлы, запускать программы и т.д. Интерфейс с отладчиком построен на тех же принципах, что и интерфейс с редактором РК. Чтобы программу можно было отлаживать с помощью КРОТа, при ре- дактировании ее внешних связей должна указываться опция -krot. Кроме того, та часть файлов с исходными текстами, которая под- лежит отладке, также должна быть откомпилирована с опцией -krot. В качестве примера приведем фрагмент файла-каталога /usr/guest/test/.dir: |Исходный текст отлаживаемой программы | tect1.for -krot |Файл для редактирования внешних связей | tect1.bld -krot |Отлаживаемая программа | tect1 3.1. Определения Процедура - это подпрограмма или функция на языке Фортран 77 или С. Маркер выполнения - это указатель на точку, с которой будет продолжено выполнение программмы. Точка останова - это особая точка программы, явно устанавливае- мая пользователем, при достижении которой происходит прерывание выполнения. Точка прерывания - это точка, в которой прервано выполнение программы и передано управление отладчику. Текущая процедура - это процедура, с которой оперирует КРОТ в данный момент времени. Текущая процедура всегда определяется по позиции курсора. 3.2. Команды отладки Чтобы начать сеанс отладки, нужно указать курсором на имя отла- живаемой программы и нажать F5 CTRL+SHIFT+F10. Отладчик выпол- нит некоторые действия по инициализации, но программа выпол- няться еще не начнет. Теперь нужно входить в файлы с исходными текстами отлаживаемой программы, расставлять точки останова, указывая курсором на нужные операторы, начинать (продолжать) процесс выполнения, анализировать значения переменных и выражений и т.п. Для завершения сеанса отладки служит команда F5 CTRL+F10. Перечислим самые простые команды отладчика: TAB CTRL+B Поставить точку останова перед оператором, на ко- торый указывает курсор. TAB CTRL+D Удалить точку останова, стоящую перед оператором, на который указывает курсор. SHIFT+F5 CTRL+K Удалить точки останова из текущего файла. TAB CTRL+K Удалить все точки останова. TAB CTRL+R Начать или продолжить выполнение программы. TAB CTRL+V Показать значение переменной, на которую указывает курсор. Под текущей строкой появляется информация о типе и значении; после нажатия любой клавиши эта информация исчезает с экрана. TAB CTRL+T Показать стек вызовов. В правом верхнем углу экра- на появляется стек; текущая процедура изображена сверху. После нажатия пробела стек исчезает с эк- рана. Перейдем к изложению более сложных средств отладки. С точкой останова можно связать условие. Для этого служит ко- манда ESC CTRL+C. После выполнения этой команды на экране появ- ляется строка запроса, в которой и нужно записать условие, то есть выражение с логическим значением в смысле Фортрана или C. В выражение могут входить объекты отлаживаемой программы. В отладчике КРОТ программу можно выполнять по шагам (операто- рам). Для этого служат команды: ESC CTRL+R Выполнить очередной шаг, не заходя в вызываемые процедуры (вызов процедуры рассматривается как один шаг). F5 CTRL+R Выполнить очередной шаг до ближайшего (в смысле выполнения программы) оператора, на который можно поставить точку останова. При необходимости осу ществляется вход в вызываемые процедуры. Можно визуализировать значения не только отдельных переменных, но и выражений. По команде CTRL+F5 CTRL+V на экране появится строка запроса, в которой и следует записать нужное выражение, соблюдая синтаксис языка программирования. В выражение могут входить объекты отлаживаемой программы. Для изменения значения переменной, на которую указывает курсор, служит команда TAB CTRL+N. Новое значение задается с помощью оператора присваивания. При показе значений переменных и выражений они выводятся не только на экран, но и во внутренний файл редактора Значения (напомним, что символ набирается как HOME *). Если сделать этот файл видимым на экране (например, выделив под него окно), можно проанализировать информацию, получаемую в ходе сеанса от- ладки, что, возможно, облегчит поиск ошибок. 4. РЕЗЮМЕ Интегрированная Среда Разработки Программ представляет собой мощный инструмент, свободный от количественных ограничений. Яд- ром этой среды является редактор РК, возможности которого го- раздо шире, чем у традиционных экранных редакторов. Остальные компоненты ИСРП значительно выигрывают в силе, имея поддержку РК. В данной публикации редактор РК и отладчик КРОТ рассмотрены до- вольно поверхностно. На то есть несколько причин. Интерфейс РК и КРОТа следует признать довольно тяжеловесным, особенно для начинающих. Представляется, что целесообразно сначала овладеть самым употребительным подмножеством этих инструментов (оно от- носительно невелико), а затем постепенно пополнять свой багаж изучая документацию по станции БЕСТА.