Отладчики необходимы для поиска ошибок в программах. Они выполняют всю работу по поиску проблем в вашем коде до того, как придет время его компилировать, обычно предоставляя больше информации, чем мог бы предоставить сам компилятор. Linux, являясь преимущественно экосистемой с открытым исходным кодом, имеет множество приложений такого типа, которые работают на нескольких разных языках и архитектурах обработки. В этом руководстве мы сразу погрузимся в мир отладчиков Linux.
1. Отладчик GNU(GDB)
GNU-отладчик , также известный как GDB, — один из самых мощных отладчиков Linux, доступных современным программистам. Это надежный инструмент с обширным набором функций. GDB поддерживает множество Contents
1. Отладчик GNU(GDB)
="https://saintist.ru/2019/12/10/luchshie-razrabotchiki-yazykov-programmirovaniya-igr/" title="популярные языки программирования">популярные языки программирования , включая C, C++, Go и Rust. Он также работает на многих различных архитектурах ЦП, таких как x86, x86-64, ARM, PowerPC, SPARC и MIPS.![Демонстрация запуска тестовой программы GDB](https://saintist.ru/wp-content/uploads/2024/05/linuxdebugger-gdb-800x402-1.png)
Установите 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. Отладчик отображения данных (DDD)
Если вам не нравится возиться с командами, но вам по-прежнему нравятся функции, которые может предложить GDB, ДДД предоставляет вам простой графический интерфейс, который предоставляет все свои функции в одном месте. -щелкните интерфейс. Это типичный графический интерфейс отладчика Linux.
![DDD запускает элементарную программу и завершает работу.](https://saintist.ru/wp-content/uploads/2024/05/linuxdebugger-ddd.png)
Пользовательский интерфейс может выглядеть немного примитивным, но он столь же мощный, как и любой другой отладчик. Разница здесь в том, что вы получаете фирменный отладчик GNU с графическим интерфейсом!
Чтобы установить:
В дистрибутивах на базе Ubuntu/Debian:
sudo apt install ddd
В дистрибутивах Fedora/RHEL:
sudo dnf install ddd
В дистрибутивах на основе Arch:
yay -S 2. Отладчик отображения данных (DDD) на Arch, должно будет использовать помощник AUR, поскольку DDD не существует в его официальных репозиториях. Альтернативно вы можете установить DDD в системе на базе Arch без помощника AUR:sudo pacman -S --needed base-devel git clone https://aur.archlinux.org/ddd.git cd ddd makepkg -si3. LLDB
LLDB является частью проекта LLVM. Пакет LLVM набирает популярность благодаря эффективному рабочему процессу. Он также стал отладчиком по умолчанию для Xcode и Android Studio для macOS. Некоторые из основных функций 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 lldb4. Погружение
Погружение — простой, но многофункциональный отладчик Linux для языка программирования Google Go. Вы можете использовать его для взаимодействия с вашей программой во время выполнения и управления такими вещами, как горутины и стеки. Сам отладчик написан на Go, что позволяет выполнять его в той же среде, что и тестируемая программа.
Delve работа
3. LLDB
инципу, что и GDB и LLDB, за исключением того, что он имеет уникальный набор команд, сильно отличающийся от двух других. Просто введитеhelp
, и вы получите полный список всех параметров отладки, которые он вам предоставляет.В отличие от более общих отладчиков для нескольких языков, Delve предлагает больше команд, специфичных для Go, которые позволяют вам более детально изучить ваше приложение во время его работы.
<
Чтобы установить:
В дистрибутивах на базе Ubuntu/Debian:
sudo apt install delveВ дистрибутивах Fedora/RHEL:
sudo dnf install delveВ дистрибутивах на основе Arch:
sudo pacman -S delve5. Xdebug
Хотя большинство людей учатся сбрасывать свои переменные (в PHP-сообществах это называется «dump & die»), чтобы выяснить, что не так с определенным аспектом их кода, бывают случаи, когда вам нужно что-то более мощное, что может ходить. вы через все ваши рутины. Xdebug предлагает все это как начинающим, так и опытным PHP-программистам.
4. Погружениео время сеанса отладки некоторого простого 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 xdebug6. КДбг
КДбг — это отладчик с графическим интерфейсом для Среда рабочего стола 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 в официальных репозиториях, вот что вам нужно ввести, чт
5. Xdebug
мостоятельно: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 install7. Валгринд
Валгринд — это надежный отладчик памяти, предлагающий множество дополнительных инструментов для анализа программного обеспечения. Он работает как на Linux, так и на Mac. Более того, вы можете использовать его в качестве основы и создавать инструменты динамического анализа, такие как профилировщики. В целом, Valgrind — отличный выбор для профессионалов благодаря богатому набору функций и множеству инструментов, которые контролируют память программы во время ее работы.
Чтобы установить Valgrind:
В дистрибутивах на базе Ubuntu/Debian:
sudo apt install valgrindВ дистрибутивах Fedora/RHEL:
sudo dnf install valgrindДистрибутивы на основе Arch:
sudo pacman -S valgrind8. след
след — это утилита пользовательского пространства для Unix, которая позволяет пользователям отслеживать системные вызовы и сигналы непосредственно с терминала.
6. КДбгugger-strace.png" alt="Linuxdebugger Strace">
Программисты могут использовать его для дампа трассировки стека, фильтрации системных вызовов, изменения кодов возврата, извлечения дескрипторов файлов и многого другого.
Что еще более важно, strace позволяет подключаться к работающим программам. Это позволяет вам разобраться в любом программном обеспечении, которое вы запускаете на своем компьютере, и узнать больше о том, что может вызвать сбой.
Чтобы установить strace:
В дистрибутивах на базе Ubuntu/Debian:
sudo apt install straceВ дистрибутивах Fedora/RHEL:
sudo dnf install straceВ дистрибутивах на основе Arch:
sudo pacman -S straceАрсенал ждет
С помощью этих инструментов вы можете проверять, подталкивать и анализировать свой код способами, которые раньше казались недоступными. Возможно, придется немного поучиться, но оно того стоит. Если вы серьезно относитесь к программированию в Linux, изучение того, как использовать его отладчики, в долгосрочной перспективе сэкономит вам гораздо больше времени.
Теперь, когда у вас есть лучшие отладчики Linux, пришло время найти лучшие дистрибутивы Linux для разработчиков и программистов .
Изображение предоставлено: Все изображения принадлежат автору.
7. Валгринд
8. след
Арсенал ждет