Администрирование локальных сетей
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
твовать любой команде формата с десятичным символом повторения.
Кроме того, Вы можете использовать параметр индекса запроса ADB, чтобы повторить, полный формат командует определенным числом раз. Например, чтобы печатать три строки, использующие вышеупомянутый формат, Вы напечатали бы запрос:
ints, 3/X4bn
(n в конце команды печатает перевод каретки, который делает вывод более легким для чтения.)
В этом примере, ADB устанавливает значение точки к ints + 0x10, скорее чем ints. Это случается, потому что каждый раз ADB заново выполняет команду формата, это устанавливает точку к точке плюс точечное приращение. Поэтому, значение точки - значение, которое точка имела в начале последнего(прошлого) выполнения команды формата. Точечное приращение - размер требуемого формата (в этом случае(регистре), восемь байтов). Команда newline в это время установила бы точку в ints + 0x18 и печать только одно повторение(копия) формата, потому что значение индекса сброшено к одному.
Чтобы проверять текущее значение точки, Вы можете напечатать запрос:
. = a
= команда может печатать значение адреса в любом формате.
Вы можете также использовать = команду, чтобы конвертировать(преобразовать) от одного ядра до другого. Например, Вы можете печатать значение "0x32" в восьмеричном, шестнадцатеричном, и представление десятичных чисел, печатая:
0x32 = oxd
ADB "помнит" сложный формат просьбы о каждом из?, /, и = команды. Например, после ввода предыдущего запроса, Вы можете печатать значение "0x64" в восьмеричном, шестнадцатеричном, и представление десятичных чисел, печатая:
0x64 =
Тогда, потому что последний введенный / команда была ints/X4b, Вы можете напечатать:
ints/
Печатать четыре байта в длинном шестнадцатеричном формате и четырех байтах в байте шестнадцатеричный формат.
Дополнительные команды печати
Команда Описание
$b Печатают текущие контрольные точки.
$c Печать располагает в стеке след.
$d Основание системы счисления значения по умолчанию Набора, чтобы адресовать параметр.
$e Печатают внешние переменные.
$f Регистраторы С плавающей точкой как единственная(отдельная) точность.
$F Регистраторы С плавающей точкой как двойная точность.
$m Печатают карты сегмента ADB.
$r Печатают общих регистраторов.
$s Смещение Набора для соответствия символа.
$v Печатают ADB переменные.
$w Вывод Набора выравнивает ширину.
Рекомендуеться также посмтотреть на лучший Отладчик под Unix:
Отладчик XDB
XDB отладчик для отлаживания програм написаных на языках C, HP FORTRAN, HP Pascal, and C++ и понимает следующие команды:
xdb [-d dir] [-r file] [-R file] [-p file] [-P process_ID] [-L] [-l library]
[-i file] [-o file] [-e file] [-S num] [-s] [objectfile [corefile]]
где
-d dir определяет дополнительный каталог где размещены исходный коды
-r file определяет рекордный файл
-R file определяет файл restore, который был определен перед p но после r опции
-p file определяет файл воспоизведения действий (playback)
-P process_ID Определяет process_ID до которого желаем присоедениться чтоб отправить в
режим отладки
-L определяет строчно-ориентированный интерфейс.
-l library определяет библиотеку (общедоступную) до которой желаете подсоедениться
-i fileпереопределяет поток ввода в файл или в устройство
-o fileпереопределяет поток вывода в файл или в устройство
-e fileпереопределяет поток вывода ошибок в файл или в устройство
-S numустанавливает размер кеширования строки (по умолчанию 1024 что есть минимальный) s определяет все библиотеки (общедоступный) которые использует програма
Размер екрана будет в зависимости от переменой окружения TERM или можно установить используя переменный LINES и COLUMNS.
При запуске xdb имеет 3 окна:
- Окно кода (содержит исходный код)
- Окно информации (содержит значения параметров и прочее)
- Командное окно, окно упраления
- Примеры команд
r запускает програму с параметрами
R запускет програму без параметров
s пошаговый запусr (входит в функции)
S пошаговый запусr (не входить в функции)
к убить процесс
q выйти из отладчика
с продолжить выполнения програмы (continue)
v 11 посмотреть 11 строку кода
+5 посмотрить на 5 строк ниже
-5 ---------------------------- выше
v my_function показать функцию
v test1.c просмотреть файл test1.c
v test1.c:40 просмотреть файл test1.c на 40 строке
V посмотреть текущуй стек (сотояний вызовов)
V 2 посмотреть текущей стек на 2 уровня глубже
w 12 установить размер окна кода на 12
td показать код на asssembly языке (что б возвратиться к коду то еще раз нужно набрать td)
ts показать код и asssembly
s 6 запустить 6 шагов
/ n=4 ищет код n=4 (снизу)
? n=4 ищет код n=4 (сверху)
b 42 устанавливает точку останова в 42 строке
b 32 \4 в 32 строке будет останавливаться програма 4 раза
bp устанавливает точку останова на точке входа в програму
bp my_funс устанавливает точку останова на точке входа в процедуру my_func
lb просмотреть точки останова
db 2 удалить 2ю точку остнаова
db * удалить все точки останова
p count просмотреть значение count
p count\x просмотреть в шестнацатиричном виде
p num\D просмотреть переменую в long типе как десятеричную
p . показать преведущее значение
p *(&.+42) показать значение на 42 байта дальше от преведуще-показаного значения
p my_struct показывает даные в структуре
p my_struct.name показывает значени