Страница 42 из 69
тавлять собой один элемент данных. Отладчик рассматривает элемент
данных как первый элемент массива, если он не является указате-
лем, либо как указатель массива, если он является таковым.
- 343,344 -
Таблица 5.5. Спецификаторы формата, распознаваемые
в выражениях отладчика.
-----------------------------------------------------------------
Символ Функция
-----------------------------------------------------------------
C Character (символ). Показывает специальные символы ото-
бражения для управляющих символов (ASCII от 0 до 31); по
умолчанию подобные символы показываются с использованием
соответствующих управляющих последовательностей Си (\n,
\t, и т.д.). Действует на символы и строки.
S String (строка). Показывает управляющие символы (ASCII
от 0 до 31) в виде значение ASCII, используя соответс-
твующие управляющие последовательности Си. В связи с
тем, что это формат отображения текущего символа и стро-
ки, то спецификатор S может быть использован только со
спецификатором M.
D Decimal (десятичный). Все целочисленные значения отобра-
жаются в десятичной системе счисления. Действует как на
выражения с простыми целыми числами, так и на массивы и
структуры, содержащие целые числа.
H или X Hexadecimal (шестнадцатиричный). Все целочисленные зна-
чения отображаются в виде шестнадцатиричных с прибавле-
нием впереди 0x. Действует на выражения с простыми целы-
ми числами, а также на массивы и структуры, содержащие
целые числа.
F
грамма PSP - верх ОЗУ зователя, если ее адрес попадает
в память, где находятся перемен-
ные, в противном случае, ничего
- 347,348 -
A000:0000-AFFF:FFFF EGA (усовершенствованный графиче-
ский адаптер) Video RAM (видеопа-
мять)
B000:0000-B7FF:FFFF Монохромный дисплей ОЗУ (RAM)
B800:0000-BFFF:FFFF Цветный дисплей ОЗУ (RAM)
C000:0000-EFFF:FFFF Страницы EMS/Адаптер BIOS ПЗУ
(ROM)
F000:0000-EFFF:FFFF BIOS ROM (базовая система ввода-
вывода ПЗУ)
--------------------------------------------------------
R Structure/Union (структура/объединение). Отображает име-
на полей, а также значений типа {x:1, y:10, z:5}. Дейс-
твует только на структуры и объединения
-----------------------------------------------------------------
"Горячим ключом" для Debug/Evaluate является Ctrl-F4.
Поиск функции (Find Function)
-----------------------------------------------------------------
Поиск функции отображает определенные функции в окне редак-
тирования. Команда может найти любую функцию в вашей программе,
которая компилировалась с помощью Debug/Source Debugging и O/C/C/
OBJ Debug Information в случае, если их опции включены (в положе-
нии "ON"), и чьи исходные файлы доступны. Если функции нет в
отображаемом в настоящее время файле, команда автоматически заг-
ружает надлежащий файл.
Для поиска функции вы должны находится в сеансе отладки.
Стек вызова (Call stack)
-----------------------------------------------------------------
Команда стек вызова отображает в верхней части экрана окно,
содержащее стек вызова. Стек вызова показывает последовательность
функций, вызываемых вашей программой с тем, чтобы достичь работа-
ющей в настоящее время функции. Функция main находится в нижней
- 349,350 -
части стека; работающая в настоящее время функция находится в
верхней части стека.
Каждое обращение к стеку вызова отображает имя вызываемой
функции и значения параметров, передаваемых ему.
Выход в верхнюю часть стека выделяется подсветкой. Для отоб-
ражения текущей строки любой другой функции вызова стека необхо-
димо переместить подсветку на имя этой функции и нажать клавишу
Ввод. Курсор будет перемещен на строку, содержащую обращение к
функции, следующей выше в стеке. Например, если стек вызова будет
выглядеть следующим образом:
func 2 ()
func 1 ()
main ()
(таким образом main вызывает func 1, а func 1 вызывает func 2), а
вам хотелось бы увидеть исполняемую в настоящее время строку func
1, вы должны переместить подсветку на func 1 в стеке вызова и на-
жать клавишу Ввод. Код для func 1 должен появиться в окне редак-
тирования, а курсор переместиться на обращение к func 2.
Для возврата текущей строки работающей в настоящее время
функции (т.е. находящейся в положении исполнения) подсветите са-
мую верхнюю функцию в стеке вызова и нажмите клавишу Ввод.
Некоторые функции могут не запускаться из стека вызова, если
ваша программа компилировалась при включенной опции
O/C/C/Standart Stack Frame. Для получения дополнительной информа-
ции смотрите описание O/C/C/Standart Stack Frame.
"Горячим ключом" для O/C/C/Standart Stack Frame является
Ctrl-F3.
Отладка исходных текстов (Source Debugging)
-----------------------------------------------------------------
Опция Debug/Source Debugging имеет три режима установки фла-
га: Включено, Автономно и Выключено.
Программы, компонуемые при положении флага "Включено", могут
- 351,352 -