Обзор
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).