Режим расширенной отладки

Встроенный отладчик при своей работе использует SYM-файл, создаваемый как побочный продукт работы редактора связей. SYM-файл представляет собой таблицу адресов имен в текстовом виде. При этом встроенный отладчик может показать только содержимое памяти по указанному для данного имени адреса, поскольку других характеристик в SYM-файле нет.
Но имеется расширенный режим работы редактора связей, при котором кроме SYM-файла редактором связи создается еще TRF-файл, содержащий информацию об объектах программы в терминах языка PL/1. Эту информацию редактор связей собирает из всех PRN-файлов, которые создает компилятор PL/1-KT, если задать ключи компиляции «S» и «D». Расширенный режим отладки для редактора связей создается ключом /DEB.
Рассмотрим сказанное на небольшом примере:

test:proc main;
dcl i fixed(*), x(4) float(53);

do i=1 to hbound(x); x(i)=i; end i;
m1:
end test;

трансляция:

plink64 test.pl1

редакция связей (выполняется по умолчанию):

plink64 test

запуск с отладчиком:

test ??

Запуск и остановка на метке m1 и просмотр переменной x:

Те же действия в режиме расширенной отладки
Трансляция:

plink64 test.pl1 sd

редакция связей (нужно задать явно с ключом /deb):

plink64 test /deb

запуск с отладчиком, остановка на метке m1 и просмотр переменной x (теперь известны характеристики этого объекта):

test ??

Обратите внимание, что трансляция с ключами «S» и «D» может замаскировать ошибки трансляции, в том смысле, что они не выдаются на экран, а тоже попадают в PRN-файл, поэтому для трансляции в режиме с расширенной отладкой желательно составлять скрипт, где трансляция идет в два этапа, сначала, чтобы увидеть возможные ошибки на экране, если таких ошибок нет – трансляция с выдачей в PRN-файл, например:

plink64 test.pl1
if errorlevel 1 goto eof
plink64 test.pl1 sd
plink64 test /deb

0

Автор публикации

не в сети 3 часа

admin

3
Комментарии: 27Публикации: 166Регистрация: 13-06-2019
Авторизация
*
*

5 × 3 =

или используйте социальную сеть:
Регистрация
*
*
*

четыре × 4 =

Генерация пароля

двадцать − 15 =

Перевести »
Пролистать наверх