Unix Man (Справочное руководство)


CTRACE(1)


CTRACE(1)

НАЗВАНИЕ


ctrace - отладчик C-программ

СИНТАКСИС

ctrace [-f функция ...] [-v функция ...] [-o] [-x] [-u] [-е] [-lчисло_операторов] [-s] [-tчисло_переменных] [-P] [-b] [-pцепочка_символов] [-rфайл] [файл]

ОПИСАНИЕ


Команда ctrace позволяет отслеживать выполнение C-программ, от оператора к оператору. Это напоминает исполнение процедуры shell'а с опцией -x. Отладчик ctrace читает C-программу из файла (или со стандартного ввода, если файл не задан), вставляет функции печати текста каждого исполняемого оператора и значений всех используемых или модифицируемых переменных, и пишет измененную программу на стандартный вывод. Результат работы команды ctrace следует поместить во временный файл, так как команда не позволяет использовать каналы. Затем временный файл нужно скомпилировать и выполнить.

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

Обычно используемые опции:

-f функция ... Отслеживать только указанные функции. -v функция ... Отслеживать все функции, кроме указанных.

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

-oВосьмеричный формат.
-xШестнадцатеричный формат.
-uБеззнаковый формат.
Формат вещественных чисел.
<


Начало  Назад  Вперед



Книжный магазин