Выполните следующие действия для настройки и запуска системной трассировки:
Команда trace запускает трассировку системных событий, управляет файлом протокола трассировкии его размером, а также буферами трассировки, в которых хранятся данные об отслеживаемых событиях. Синтаксис этой команды следующий:
trace [-fl] [-ad] [-s] [-h] [-jk события] [,события] [-m сообщение] [-o файл_вывода][-g] [-T размер_буфера] [-L размер_протокола]
С командой trace могут
быть указаны следующие опции:
Запись о наступлении каждого отслеживаемого события имеет следующий формат: слово, содержащее идентификатор точки трассировки и ее тип, затем переменное количество слов данных трассировки и, наконец, необязательное системное время. Слово, содержащее идентификатор и тип точки трассировки, называется ключевым словом. Оставшиеся два байта ключевого слова называются данными точки трассировки и могут применяться для регистрации события.
Идентификатор точки трассировки представляет собой трехзначное шестнадцатеричное число, соответствующее отслеживаемому событию. Идентификатор точки трассировки занимает первые двенадцать разрядов ключевого слова. В пользовательских приложениях могут применяться значения в диапазоне 0x010-0x0FF. Все остальные значения зарезервированы для системных целей. Список идентификаторов точек трассировки для данного программного обеспечения можно просмотреть с помощью команды trcrpt -j.
Каналы трассировки работают с общими идентификаторами точек трассировки, хранящимися в файле /usr/include/sys/trchkid.h, и шаблонами форматирования трассировки, хранящимися в файле /etc/trcfmt.
Тип точки трассировки определяет формат данных о событии и указывается пользователем. Тип точки трассировки хранится в разрядах 12-16 ключевого слова. Более подробная информация о типах точек трассировки приведена в описаниях функций trcgen, trcgenk и trchook.
Трассировщик может поддерживать до восьми активных сеансов трассировки одновременно. Каждый сеанс трассировки работает с отдельным каналом специального файла мультиплексной трассировки /dev/systrace. Канал 0 служит для регистрации системных событий. Трассировка системных событий запускается командой trace и прекращается командой trcstop. Каналы 1-7 называются каналами трассировки общего назначения и могут использоваться подсистемами для трассировки других событий, например, событий передачи данных.
Для инициализации канала трассировки общего назначения подсистема вызывает функцию trcstart, которая активизирует канал трассировки и возвращает его номер. После этого модули подсистемы могут регистрировать события с помощью функций trcgen, trcgent,trcgenk или trcgenkt. Номер канала, возвращаемый функцией trcstart, должен передаваться в эти функции в числе прочих параметров. Подсистема может приостановить регистрацию с помощью функции trcoff, возобновить ее с помощью функции trcon и деактивизировать канал трассировки с помощью функции trcstop. События, отслеживаемые в каждом канале, должны заноситься в отдельный файл протокола трассировки, имя которого необходимо указать при вызове функции trcstart. Для активизации и деактивизации трассировки в подсистеме в последней должен быть предусмотрен пользовательский интерфейс.
Ниже описаны способы запуска трассировки.
Запустите трассировку в асинхронном режиме. Например:
trace -a mycmd trcstop
При применении трассировки в асинхронном режиме трассировка выбранных событий системы (например, команды mycmd); запускается с помощью демона trace; завершить трассировку позволяет команда trcstop.
Запустите трассировку в интерактивном режиме. Например:
trace ->!mycmd ->quit
При работе с трассировкой в интерактивном режиме необходимо перейти к командной строке -> и с помощью подкоманд трассировки (таких как !) выполнять трассировку выбранных системных событий. Завершить трассировку позволяет подкоманда quit.
smit trace
Ниже описаны способы остановки трассировки.
trace -a mycmd trcstop
При применении трассировки в асинхронном режиме трассировка выбранных событий системы (например, команды mycmd); запускается с помощью демона trace; завершить трассировку позволяет команда trcstop.
trace ->!mycmd ->quit
Об интерактивном режиме свидетельствует командная строка ->. Для трассировки выбранных событий системы предназначены подкоманды трассировки (например, !). Завершить трассировку позволяет подкоманда quit.
smit trace
Ниже описаны различные способы создания отчета о трассировке событий.
trcrpt>/tmp/NewFile
В предыдущем примере данные файла протокола трассировки форматируются и записываются в файл /tmp/newfile. Команда trcrpt получает данные из файла протокола трассировки, форматирует записи трассировки и создает отчет.
smit trcrpt