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


CTRACE(1) - часть 5


Диагностика компилятора cc

warning: illegal combination of pointer and integer

warning: statement not reached

warning: sizeof returns 0 Не обращайте внимания. compiler takes size of function См. выше сообщение отладчика ctrace "possible syntax error". yacc stack overflow См. выше сообщение отладчика ctrace "'if...else if' sequence too long". out of tree space; simplify expression Используйте опцию -t для уменьшения, по сравнению с подразумеваемым значением 10, количества отслеживаемых в одном операторе переменных. Не обращайте внимания на предупреждающее сообщение "ctrace: too many variables to trace", которое Вы получите теперь. redeclaration of signal Либо исправьте описание функции , либо удалите его и включите в текст файл <signal.h>.

ПРЕДОСТЕРЕЖЕНИЯ


Вы получите сообщение от отладчика ctrace о синтаксической ошибке, если опустите точку с запятой после последнего элемента описания записи или об единения, непосредственно перед правой скобкой }. Некоторые C-компиляторы не требуют этой точки с запятой.

Определение функции с таким же именем, что и у системной функции, может привести к синтаксической ошибке, если изменено количество аргументов. Используйте лучше другое имя.

Отладчик ctrace предполагает, что BADMAG является макросом препроцессора и что EOF и NULL являются константами, определенными с помощью директивы #define. Описание любого из этих об ектов как переменной, например int EOF;, вызовет синтаксическую ошибку.

СЮРПРИЗЫ


Отладчик ctrace не имеет информации о компонентах структур данных таких, как записи, об единения и массивы. Он не в состоянии выбрать формат, чтобы распечатать компоненты структуры данных, когда происходит присваивание значения всей структуре. Отладчик может вместо структуры распечатать ее адрес или использовать неверный формат (например, 1.23456e-123 для записи с двумя целыми компонентами).

Указатели всегда трактуются как указатели на цепочки символов.

Отслеживание циклов трассировки производится отдельно для каждого файла многофайловой программы. В результате функция, вызываемая в цикле, может продолжать трассироваться, или же некоторая функция не будет трассироваться до вызова другой функции из того же файла.

Опция -l не работает; ctrace все равно использует подразумеваемое значение 20.




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



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