Администрирование локальных сетей
Рефераты >> Программирование и компьютеры >> Администрирование локальных сетей

При использовании этого примера, чтобы иллюстрировать другой пункт, Вы можете печатать первые четыре байта в длинном шестнадцатеричном формате и следующих четырех байтах в байте шестнадцатеричный формат, печатая запрос:

ints/X4b

Как эти примеры, Вы можете предшествовать любой команде формата с десятичным символом повторения.

Кроме того, Вы можете использовать параметр индекса запроса 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:

http://www.kiarchive.ru/pub/gnu/gnu-mirror/Manuals/ddd/html_mono/ddd.html

Отладчик 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 окна:

· Окно кода (содержит исходный код)

· Окно информации (содержит значения параметров и прочее)

· Командное окно, окно упраления

5. Примеры команд

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 показывает значение в структуры поля name

p *ptr значения указателя

p+ (p-) показывет следущий(преведущий) елемент

p num=num+20 увеличить значения на 20

t показывает стек

Справочная таблица команд и флагов XDB

h [topic] Print commands/syntaxes related to this topic.

Help without a topic prints the complete help text. Available topics

include command names (short form) which print the syntax for and a

terse description of the command. Other topics are:

assert assertions; macro macros;

bpset set breakpoints; misc other commands, etc.;

bpstat view & modify breakpoints; options xdb command line;

C++ C++ features; proc procedure related;

cmdlist command list features; record write & use log files;

control process control; register registers;

data view & modify data; screen window modes;

disasm disassembly mode; signal signal handling;

formats format specifiers; state global state switches;


Страница: