ltrace

Инструмент программирования Unix

ltrace — это отладочная утилита в Linux , используемая для отображения вызовов, которые пользовательское приложение делает для общих библиотек . Она делает это, подключаясь к динамической системе загрузки , что позволяет ей вставлять прокладки , которые отображают параметры , используемые приложением при выполнении вызова, и возвращаемое значение , которое сообщает вызов библиотеки. ltrace также может отслеживать системные вызовы Linux . Поскольку она использует механизм динамического подключения библиотек, ltrace не может отслеживать вызовы библиотек, которые статически связаны напрямую с целевым двоичным файлом. Начиная с версии 0.7.3, ltrace также может отслеживать вызовы библиотек, которые загружаются с помощью dlopen .

Пример вывода

Ниже приведены первые несколько строк вызова xterm . Он показывает ltrace, отображающий вызовы различных библиотек, включая стандартную библиотеку C (malloc, strlen), библиотеки POSIX (getuid), X Toolkit Intrinsics (XtOpenApplication) и библиотеку межклиентской связи X11 (IceAddConnectionWatch). Возвращаемое значение вызова показано после символа =.

[pid 11783] __libc_start_main(0x407420, 1, 0x7fff75b6aad8, 0x443cc0, 0x443d50 <незаконченный ...>[pid 11783] geteuid() = 1000[pid 11783] getegid() = 1000[pid 11783] getuid() = 1000[pid 11783] getgid() = 1000[pid 11783] setuid(1000) = 0[pid 11783] malloc(91) = 0x00cf8010[pid 11783] XtSetLanguageProc(0, 0, 0, 0x7f968c9a3740, 1) = 0x7f968bc16220[pid 11783] ioctl(0, 21505, 0x7fff75b6a960) = 0[pid 11783] XtSetErrorHandler(0x42bbb0, 0x44f99c, 0x669f80, 146, 0x7fff75b6a72c) = 0[pid 11783] XtOpenApplication(0x670260, 0x44f99c, 0x669f80, 146, 0x7fff75b6a72c) = 0xd219a0[pid 11783] IceAddConnectionWatch(0x42adc0, 0, 0, 0x7f968c9a3748, 0 <незавершенный ...>[pid 11783] IceConnectionNumber(0xd17ec0, 0, 1, 0xcfb138, 0xd17c00) = 4[pid 11783] <... IceAddConnectionWatch возобновлен> ) = 1[pid 11783] XtSetErrorHandler(0, 0, 1, 0xcfb138, 0xd17c00) = 0[pid 11783] XtGetApplicationResources(0xd219a0, 0x6701c0, 0x66b220, 34, 0) = 0[pid 11783] strlen("выкл") = 3

Смотрите также

  • strace – трассировщик системных вызовов для Linux
  • ktrace – трассировщик системных вызовов для *BSD
  • truss – классический трассировщик системных вызовов
  • DTrace – инструмент трассировки ядра Solaris / OS X / BSD / Windows
  • SystemTap – инструмент трассировки ядра Linux
  • Официальный сайт
  • ltrace(1) –  Руководство по основным командам Linux
  • Родриго Рубира Бранко, Ltrace Internals, Симпозиум Linux в Оттаве, 2007 г.
  • latrace, динамический библиотечный трассировщик вызовов, работающий с использованием функции LD_AUDIT libc


Взято с "https://en.wikipedia.org/w/index.php?title=Ltrace&oldid=1266861677"