strace - трассировка сообщений псевдоустройств
strace [ид_модуля ид_устройства уровень] ...
Утилита strace, будучи вызванной без аргументов, записывает на стандартный вывод все трассировочные сообщения псевдоустройств от всех драйверов и модулей. Эти сообщения поставляются драйвером регистрации ошибок и трассировки событий псевдоустройств [см. ]. Если указаны аргументы, то они должны составлять тройки (ид_модуля ид_устройства уровень), где ид_модуля идентификатор модуля псевдоустройства, ид_устройства идентификатор устройства, уровень - уровень приоритета трассировки. Каждая тройка указывает, что трассировочные сообщения поступают от указанного модуля/драйвера, устройства (обычно в качестве идентификатора устройства задается его младший номер) и с уровнем приоритета, меньшим или равным указанному. Задание слова all на любом из трех мест означает отсутствие соответствующего ограничения.
Трассировочные сообщения имеют следующий формат:
номер время время_от_загрузки уровень флаги ид_модуля ид_устр-ва текст
где
номер | порядковый номер |
время | время выдачи сообщения в формате чч:мм:сс |
время_от_загрузки | время выдачи сообщения в тактах часов от последней загрузки системы |
уровень | уровень приоритета |
флаги | E: сообщение зарегистрировано, как ошибка F: фатальная ошибка N: послано письмо системному администратору |
ид_модуля | идентификатор модуля источника |
ид_устр-ва | идентификатор устройства источника |
текст | текст сообщения |
Будучи запущенной, программа strace выполняется до тех пор, пока ее не терминирует пользователь.
strace 41 all all
strace 41 0 1 41 1 1 41 2 0
Сообщения от устройств 0 и 1 должны иметь уровень трассировки, меньший или равный 1. Сообщения от устройства 0 и 1 должны иметь уровень трассировки, равный 0.
Только один процесс strace может открыть драйвер регистрации ошибок и трассировки событий псевдоустройств. Указанный драйвер хранит список троек, указанных в команде, и каждое сообщение сравнивает с этим списком, определяя, не нужно ли его отформатировать и передать strace. Таким образом, длинный список троек может замедлить операции над псевдоустройствами. Наибольшее влияние strace оказывает на время выполнения операций над теми псевдоустройствами, которые трассируются. Если трассировочные сообщения генерируются с большей частотой, чем может обработать strace, часть сообщений будет потеряна. Потерю сообщений можно определить по пропускам в порядковых номерах выдаваемых сообщений.
.