Погружение в технику и философию gdb


Содержание


Погружение в технику и философию gdb или отладка двоичных файлов под gdb
Введение
Рисунок1 www.gnu.org/software/gdb
Рисунок2 собственная интерактивная "морда" отладчика gdb
Подготовка к отладке
Листинг2 загрузка файла gdb-demo в отладчик из командной строки с аргументами
Листинг3 загрузка файла gdb-demo из отладчика
Листинг4 установка точки останова на main
Листинг5 загрузка программы со стрипнутой символьной инфой
Листинг6 подключение к уже запущенному процессу через командную строку
Листинг7 подключение к уже запущенному процессу командной attach
Рисунок4 зацикливание программы в hiew'e
Листинг8 загрузка зацикленного файла с потрепанным заголовком и восстановление оригинальных байт
Листинг9 восстановление ячеек памяти с использованием переменной $i
Листинг10 объявление пользовательской переменной dd, записывающей байт по указанному адресу
Листинг11 восстановление ячеек памяти через пользовательскую команду
Листинг12 файл n2k_cmd, содержащий определение команды dd
Прежде, чем начинать трассировку
Листинг 13 отображение машинной команды по заданному адресу
Листинг14 автоматическое отображение 3х инструкций при трассировке в формате AT&T
Листинг15 автоматическое отображение 3х инструкций при трассировке в формате Intel
Листинг16 демонстрация возможностей print
Заключение
Погружение в технику и философию gdb (окончание)
Изменение потока выполнения
Изменение потока выполнения - часть 2
Листинг 1 фрагмент цикла, демонстрирующего сущность команды until
Трассировка
Точки останова
Рисунок 2 реальная установка точек останова происходит только при начале выполнения программы
Листинг2 при установке точки наблюдения/останова
Листинг3 автоматическое исполнение
Листинг4 просмотр информации о точке наблюдения номер 13
Работа с памятью и регистрами
Листинг 5 чтение и модификация памяти при помощи команды p (print)
Листинг6 отображение дампа программы с помощью команды "x"
Листинг7 исходный код пользовательской команды ddd, выводящий дамп в стиле soft-ice и turbo-debugger
Листинг8 дамп памяти, выведенный пользовательской командой "ddd"
Обработка сигналов
Рисунок 3 просмотр реакции отладчика gdb на различные сигналы
Листинг9 дизассемблерный фрагмент файла, защищенного протектором burneye
Рисунок4 попытка отладки программы
Заключение



- Начало -    



Книжный магазин