Иллюстрированный самоучитель по Turbo Pascal

Меню опции DEBUG

В первом поле следует ввести имя любой переменной или некоторое выражение. Сразу после того, как Вы нажмете Enter, в поле RESULT появится соответствующее значение или сообщение Unknown identifier (неопределенный идентификатор), если такая переменная не определена в Вашей программе. К моменту вызова опции программа должна находиться в режиме отладки, в противном случае это сообщение будет даваться для любых переменных и выражений с их участием.

Если Вы запросили значение переменной, Вы можете перевести курсор в нижнее поле NEW VALUE и установить новое значение переменной – это значение будет немедленно передано в программу.

При обращении к опции среда анализирует ближайшее окружение курсора в активном окне редактора и, если это возможно, выделяет идентификатор или константу, на которую указывает курсор. Выделенное автоматически переносится в поле EXPRESSION и предлагается в виде вычисляемого выражения. Таким образом, если перед вызовом этой опции установить курсор на интересующий Вас идентификатор, останется лишь нажать на Enter, чтобы тут же получить его значение в поле RESULT. Если предлагаемый идентификатор Вас не устраивает, можно его отредактировать или ввести новый. Для ввода нового нажмите на любую алфавитно-цифровую клавишу, и предлагаемый в окне идентификатор исчезнет, заменившись вновь введенным символом.

Для перехода к редактированию предлагаемого идентификатора следует сразу же после появления окна нажать Home или End, затем перевести курсор к нужному месту идентификатора и отредактировать его с использованием клавиш Ins, Del и Backspace. Наконец, если сразу после вызова опции нажать End, а затем – клавишу перевода курсора вправо, появившийся в поле EXPRESSION идентификатор дополнится символом, расположенным справа от него в тексте программы. Теперь при каждом нажатии на клавишу перевода курсора вправо очередной символ из текста программы будет копироваться в поле EXPRESSION. Описанная возможность существенно облегчает ввод длинных выражений и составных идентификаторов.

Вы можете ввести (и вычислить) выражения с участием констант и переменных из Вашей программы, а также некоторых стандартных функций. Выражения составляются по правилам формирования выражений Турбо Паскаля, причем тип выражения может быть любым стандартным или определенным в программе типом. Фактически единственным ограничением на выражения является то, что в них нельзя использовать вызовы нестандартных функций (можно использовать только следующие предварительно определенные функции и константы: ABS, ADDR, CHR, DSEG, HI, IORESULT, LENGTH, LO, MAXAVAIL, MEMAVAIL, ODD, OFS, ORD, PRED, PTR, ROUND, SEG, SIZEOF, SPTR, SSEG, SUCC, SWAP, TRUNC, а также массивы MEM, MEMW и MEML).

Формат выводимого в поле RESULT результата по умолчанию совпадает со стандартным для Турбо Паскаля, но Вы можете управлять этим форматом с помощью специальных ключей. Ключ помещается в конце выражения (переменной) и отделяется от него запятой. Например, запрос:

MemL[$40:Q],h

Выдаст содержимое четырех байт оперативной памяти в шестнадцатеричном формате.

Допускаются следующие ключи:

  • С – формат CHAR (символьный);
  • S – формат STRING (строковый);
  • D – формат целых десятичных чисел;
  • $, H или Х – шестнадцатеричный формат;
  • Fn – формат REAL (вещественный); число п определяет количество значащих цифр в выводимом результате;
  • М – формат копии памяти: выводится содержимое переменной побайтно, начиная с младшего байта, в шестнадцатеричном формате; если ключ указан для выражения, он игнорируется;
  • Р – формат POINTER (указатель); результат выводится в виде PTR(SEG,OFS), например, Ptr($3EA1,$20);
  • R – формат RECORD (запись); выводится в круглых скобках список полей с указанием их значений, например: (X:1;Y:10;Z:S).
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.