Курс — «Программирование на C для начинающих». Отладка и тестирование. #34 Использование отладчиков (например, GDB)
Здравствуйте, дорогие друзья.
Отладчики — это мощные инструменты, которые позволяют программистам анализировать и исправлять ошибки в коде. Один из самых популярных и мощных отладчиков для языка C — это GDB (GNU Debugger). GDB предоставляет множество функций для отладки, таких как выполнение программы пошагово, установка точек останова, просмотр значений переменных и многое другое. В этом разделе мы рассмотрим, как использовать GDB для отладки программ на языке C.
Установка и запуск GDB
Перед использованием GDB необходимо установить его на вашу систему. В большинстве дистрибутивов Linux GDB можно установить с помощью пакетного менеджера.
Пример установки GDB на Ubuntu:
sudo apt install gdb
После установки GDB можно запустить из командной строки, указав имя исполняемого файла программы, которую вы хотите отладить.
Пример запуска GDB:
gdb myprogram
Компиляция программы с отладочной информацией
Для того чтобы GDB мог предоставить полезную информацию о вашей программе, необходимо скомпилировать её с отладочной информацией. Это делается с помощью флага -g
при компиляции.
Пример компиляции программы с отладочной информацией:
gcc -g -o myprogram myprogram.c
Основные команды GDB
GDB предоставляет множество команд для управления отладкой. Вот некоторые из основных команд:
- Запуск программы:
(gdb) run
2. Установка точки останова:
(gdb) break main
3. Выполнение программы пошагово:
(gdb) next
4. Выполнение программы с заходом в функции:
(gdb) step
5. Просмотр значений переменных:
(gdb) print variable_name
6. Продолжение выполнения программы до следующей точки останова:
(gdb) continue
7. Просмотр стека вызовов:
(gdb) backtrace
8. Выход из GDB:
(gdb) quit
Пример использования GDB
Рассмотрим пример использования GDB для отладки простой программы на языке C.
Пример программы (myprogram.c):
1 2 3 4 5 6 7 8 9 10 11 |
#include <stdio.h> int main() { int a = 5; int b = 10; int sum = a + b; printf("Sum = %d\n", sum); return 0; } |
- Скомпилируйте программу с отладочной информацией:
gcc -g -o myprogram myprogram.c
2. Запустите GDB:
gdb myprogram
3. Установите точку останова в функции main:
(gdb) break main
4. Запустите программу:
(gdb) run
5. Выполняйте программу пошагово:
(gdb) next
6. Просмотрите значения переменных:
(gdb) print a
(gdb) print b
(gdb) print sum
7. Продолжите выполнение программы до следующей точки останова:
(gdb) continue
8. Выйдите из GDB:
(gdb) quit
Условные точки останова
GDB позволяет устанавливать условные точки останова, которые активируются только при выполнении определенного условия.
Пример установки условной точки останова:
(gdb) break main if a == 5
Просмотр и изменение значений переменных
GDB позволяет не только просматривать значения переменных, но и изменять их в процессе отладки.
Пример изменения значения переменной:
(gdb) set variable a = 10
GDB — это мощный инструмент для отладки программ на языке C. Он предоставляет множество функций для анализа и исправления ошибок в коде. Использование GDB позволяет выполнять программу пошагово, устанавливать точки останова, просматривать и изменять значения переменных, а также выполнять множество других задач. Правильное использование GDB поможет вам эффективно отлаживать ваши программы и создавать более надежные и качественные приложения.
На этом все. Всем хорошего дня!