8 лучших отладчиков Linux для разработчиков программного обеспечения

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

1. GNU Debugger(GDB)

GNU Debugger, он же GDB, является одним из самых мощных отладчиков Linux, доступных современным программистам. Это надежный инструмент с обширным набором функций. GDB поддерживает многие популярные языки программирования, включая C, C , Go и Rust. Он также работает на многих различных архитектурах процессоров, таких как x86, x86-64, ARM, PowerPC, SPARC и MIPS.

Установите GDB с помощью следующих команд:

В дистрибутивах на базе Ubuntu/Debian:

sudo apt install gdb

В дистрибутивах Fedora/RHEL:

sudo dnf install gdb

В дистрибутивах на базе Arch:

sudo pacman -S gdb

Если вы компилируете с помощью GCC с отладочными символами, вы можете просмотреть инструкции программы в процессе ее выполнения, набрав s. Набрав r, вы запустите вашу программу через отладчик. Чтобы запустить GDB с загруженной программой, просто введите gdb в терминале, а затем путь к программе.

Набрав help, вы получите хорошо организованный каталог, объясняющий все, что вы можете сделать с помощью этого всемогущего отладчика!

2. Data Display Debugger (DDD)

Если возиться с командами – не ваш конек, но вам все равно нравятся возможности GDB, DDD предоставляет вам простой графический фронтэнд, который предоставляет все его возможности в виде интерфейса «укажи и щелкни». Это квинтэссенция графического интерфейса отладчика для Linux.

Интерфейс может выглядеть немного пустым, но он настолько же мощный, как и любой другой отладчик. Разница в том, что вы получаете фирменный отладчик GNU с графическим интерфейсом!

Чтобы установить его:

В дистрибутивах на базе Ubuntu/Debian:

sudo apt install ddd

В дистрибутивах на базе Fedora/RHEL:

sudo dnf install ddd

В дистрибутивах на базе Arch:

yay -S ddd

Для всех систем на базе Arch придется использовать помощник AUR, так как DDD не существует в официальных репозиториях. В качестве альтернативы, вы можете установить DDD на систему на базе Arch без помощника AUR:

sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/ddd.git
cd ddd
makepkg -si

3. LLDB

LLDB является частью проекта LLVM. Набор LLVM набирает популярность благодаря эффективному рабочему процессу. Он также стал отладчиком по умолчанию в Xcode для macOS и Android Studio. Среди основных возможностей LLDB – поддержка различных интеграций компиляторов и удаленная отладка. Он поддерживает языки C (C, C , и Objective-C).

Для тех, кто уже знаком с основными командами GDB, LLDB покажется знакомым. Набрав run или r, вы запустите программу, а набрав step или s, пройдитесь по ее подпрограммам.

Как установить:

В дистрибутивах на базе Ubuntu/Debian:

sudo apt install lldb

В дистрибутивах на базе Fedora/RHEL:

sudo dnf install lldb

В дистрибутивах на базе Arch:

sudo pacman -S lldb

4. Delve

Delve – это простой, но многофункциональный отладчик для Linux на языке программирования Go от Google С его помощью вы можете взаимодействовать с вашей программой во время выполнения и манипулировать такими вещами, как горутины и стеки. Сам отладчик написан на Go, что позволяет работать в той же среде, что и тестируемая программа.

Delve работает по тому же принципу, что и GDB и LLDB, за исключением того, что у него есть уникальный набор команд, который значительно отличается от двух других. Просто введите help, и вы получите полный список всех возможностей отладки.

В отличие от более общих отладчиков для нескольких языков, Delve предлагает более специфичные для Go команды, которые позволяют вам более детально изучить ваше приложение во время его работы.

Для установки:

В дистрибутивах на базе Ubuntu/Debian:

sudo apt install delve

В дистрибутивах на базе Fedora/RHEL:

sudo dnf install delve

В дистрибутивах на базе Arch:

sudo pacman -S delve

5. Xdebug

Хотя большинство людей учатся сбрасывать переменные (известный в PHP-сообществе как «dump & die»), чтобы выяснить, что не так с определенным аспектом их кода, бывают моменты, когда вам нужно что-то более мощное, что проведет вас через все ваши проблемы.
Xdebug предлагает это начинающим и опытным PHP-программистам.

Это отладчик для Linux, который строка за строкой просматривает PHP-код и показывает, что именно происходит при обработке веб-страницы. Xdebug также работает в нескольких IDE включая VSCode Среди других его возможностей – мощный профилировщик, трассировщик стека и возможность создания дампа полного сегмента кода.

Чтобы установить Xdebug:

В дистрибутивах на базе Ubuntu/Debian:

sudo apt install php-xdebug

В дистрибутивах на базе Fedora/RHEL:

sudo dnf install php-xdebug

В дистрибутивах на базе Arch:

sudo pacman -S xdebug

6. KDbg

KDbg – это графический отладчик для среды рабочего стола KDE Поскольку он работает как внешний модуль GDB, как и DDD, вы получаете все возможности GDB наряду с интуитивно понятным пользовательским интерфейсом. Более опытные программисты, несомненно, оценят четкое представление всех переменных при прохождении кода, а также полностью выделенную панель, показывающую, что содержит каждый регистр процессора. Это не так просто представить в любом из других отладчиков, рассмотренных здесь.

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

Для установки KDbg:

В дистрибутивах на базе Ubuntu/Debian:

sudo apt install kdbg

В дистрибутивах на базе Fedora/RHEL:

sudo dnf install kdbg

В дистрибутивах на базе Arch:

sudo pacman -S kdbg

Примечание: Если вы используете дистрибутив на базе Ubuntu или Debian и не нашли пакет для kdbg в официальных репозиториях, вот что вам нужно набрать, чтобы собрать его самостоятельно:

sudo apt install build-essential cmake extra-cmake-modules qtbase5-dev libkf5i18n-dev libkf5iconthemes-dev libkf5xmlgui-dev
git clone -b maint https://github.com/j6t/kdbg.git
cd kdbg
cmake .
make
sudo make install

7. Valgrind

Valgrind – это надежный отладчик памяти, который предлагает множество дополнительных инструментов для анализа программного обеспечения. Он работает как на Linux, так и на Mac. Более того, вы можете использовать его в качестве фреймворка и создавать инструменты динамического анализа, такие как профилировщики. В целом, Valgrind – отличный выбор для профессионалов благодаря богатому набору функций и разнообразию инструментов для мониторинга памяти программы во время ее работы.

Чтобы установить Valgrind:

На Ubuntu/Debian-based distros:

sudo apt install valgrind

На Fedora/RHEL distros:

sudo dnf install valgrind

На Arch-based distros:

sudo pacman -S valgrind

8. strace

strace – это утилита пользовательского пространства для Unix, которая позволяет пользователям отслеживать системные вызовы и сигналы прямо из терминала.

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

Что еще более важно, strace позволяет присоединяться к выполняющимся программам. Это позволит вам проникнуть под капот любого программного обеспечения, запущенного на вашей машине, чтобы узнать больше о том, что может быть причиной сбоя.

Чтобы установить strace:

В дистрибутивах на базе Ubuntu/Debian:

sudo apt install strace

В дистрибутивах Fedora/RHEL:

sudo dnf install strace

В дистрибутивах на базе Arch:

sudo pacman -S strace

Заключение

С помощью этих инструментов вы можете тыкать, тыкать и анализировать свой код способами, которые раньше казались вам недоступными. Возможно, придется немного поучиться, но оно того стоит. Если вы серьезно относитесь к программированию в Linux, то научившись использовать отладчики, вы сэкономите гораздо больше времени в долгосрочной перспективе.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен www.maketecheasier.com

Похожие статьи

Комментарии (0)