Утилита truss помогает разобраться в работе приложения. Если
приложение работает неправильно, то программист первым делом смотрит
журнальные файлы системы и приложения. Но если информация в журнале не
помогает найти источник проблемы, UNIX® предоставляет мощный
инструментарий, с помощью которого можно трассировать приложение во
время его выполнения. При помощи этого инструментария и некоторых
знаний можно решить проблемы с приложением.
Системные администраторы часто интересуются механизмом работы
приложений. С первого взгляда ясно только одно: приложение вроде бы
запускается, а потом останавливается или зависает без всяких
объяснений. Ни системные журнальные файлы, ни техническая документация
не могут помочь. Трассировка приложения - следующее действие в таком
случае.
Трассировка программы отображает вызовы, которые программа делает к
внешним библиотекам и ядру. Эти вызовы дают приложению доступ в сеть, к
файловой системе и к дисплею. Наблюдая за вызовами и их результатами,
можно понять, что послужило причиной некорректной работы приложения.
Каждая UNIX®-система предоставляет свои собственные команды для
трассировки. Эта статья рассматривает truss, поддерживаемую в Solaris и
AIX®. На Linux® для трассировки можно использовать команду strace.
Параметры командной строки могут незначительно отличаться друг от
друга, поэтому трассировка приложений на других UNIX-системах может
выполняться командами ptrace, ktrace, trace и tusc.