Главная > Управление процессами > ltrace

ltrace: Отслеживание вызовов библиотек

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

Обзор

ltrace перехватывает и выводит вызовы функций общих библиотек, используемых программой. Это значительно помогает понять, как работает программа, и диагностировать проблемы.

Основные области применения

  • Отладка программ
  • Анализ узких мест производительности
  • Исследование уязвимостей безопасности
  • Обратная разработка

Основные опции

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

Управление отслеживанием

Вывод и фильтрация

Сгенерированная команда:

Комбинируйте команды.

Описание:

`ltrace` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

Способы отслеживания вызовов библиотек программы в различных сценариях с использованием ltrace.

Базовое отслеживание вызовов библиотек

ltrace ls

Отслеживает вызовы библиотек для команды 'ls'.

Просмотр статистики вызовов

ltrace -c ls

Показывает сводку количества вызовов и времени для каждой функции библиотеки команды 'ls'.

Сохранение вывода в файл

ltrace -o ls_trace.log ls

Сохраняет результаты отслеживания команды 'ls' в файл 'ls_trace.log'.

Отслеживание только определенных функций библиотек

ltrace -e 'malloc|free' ls

Отслеживает только вызовы функций 'malloc' или 'free' для команды 'ls'.

Отслеживание дочерних процессов

ltrace -f bash -c "ls"

Отслеживает вызовы библиотек как для 'bash', так и для 'ls' при выполнении 'ls' в оболочке 'bash'.

Установка

ltrace может быть не установлен по умолчанию в большинстве дистрибутивов Linux. Вы можете установить его с помощью следующих команд.

Debian/Ubuntu

sudo apt update && sudo apt install ltrace

Устанавливает ltrace в системах на базе Debian или Ubuntu.

CentOS/RHEL/Fedora

sudo dnf install ltrace

Устанавливает ltrace в системах на базе CentOS, RHEL или Fedora.

Советы и предостережения

Важные моменты и полезные советы при использовании ltrace.

Накладные расходы на производительность

  • ltrace может значительно замедлить выполнение программы, поэтому его следует использовать с осторожностью в производственных средах.

Отличие от strace

  • ltrace отслеживает вызовы библиотек, в то время как strace отслеживает системные вызовы. Совместное использование этих двух инструментов позволяет более полно понять поведение программы.

Статически скомпонованные бинарные файлы

  • ltrace эффективен только для программ, зависящих от динамических библиотек. Статически скомпонованные бинарные файлы не имеют вызовов библиотек, поэтому их нельзя отследить с помощью ltrace.

Права доступа

  • Для отслеживания процессов других пользователей или системных бинарных файлов могут потребоваться права root (sudo).

Те же команды в категории