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

       

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

Погружение в технику и философию gdb или отладка двоичных файлов под gdb

Введение
www.gnu.org/software/gdb
собственная интерактивная "морда" отладчика gdb
Подготовка к отладке
Листинг2 загрузка файла gdb-demo в отладчик из командной строки с аргументами
Листинг3 загрузка файла gdb-demo из отладчика
Листинг4 установка точки останова на main
Листинг5 загрузка программы со стрипнутой символьной инфой
Листинг6 подключение к уже запущенному процессу через командную строку


Листинг7 подключение к уже запущенному процессу командной attach

зацикливание программы в hiew'e
Листинг8 загрузка зацикленного файла с потрепанным заголовком и восстановление оригинальных байт
Листинг9 восстановление ячеек памяти с использованием переменной $i
Листинг10 объявление пользовательской переменной dd, записывающей байт по указанному адресу
Листинг11 восстановление ячеек памяти через пользовательскую команду
Листинг12 файл n2k_cmd, содержащий определение команды dd
Прежде, чем начинать трассировку
Листинг 13 отображение машинной команды по заданному адресу
Листинг14 автоматическое отображение 3х инструкций при трассировке в формате ATT
Листинг15 автоматическое отображение 3х инструкций при трассировке в формате Intel

Листинг16 демонстрация возможностей print
Заключение
Погружение в технику и философию gdb (окончание)
Изменение потока выполнения
Листинг 1 фрагмент цикла, демонстрирующего сущность команды until
Трассировка
Точки останова
реальная установка точек останова происходит только при начале выполнения программы
Листинг2 при установке точки наблюдения/останова

Листинг3 автоматическое исполнение
Листинг4 просмотр информации о точке наблюдения номер 13
Работа с памятью и регистрами
Листинг 5 чтение и модификация памяти при помощи команды p (print)
Листинг6 отображение дампа программы с помощью команды "x"
Листинг7 исходный код пользовательской команды ddd, выводящий дамп в стиле soft-ice и turbo-debugger
Листинг8 дамп памяти, выведенный пользовательской командой "ddd"
Обработка сигналов
просмотр реакции отладчика gdb на различные сигналы
Листинг9 дизассемблерный фрагмент файла, защищенного протектором burneye

попытка отладки программы
Содержание раздела