OSDev

для всех
Текущее время: 21 дек 2024, 14:55

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: QEMU + GDB (Windows)
СообщениеДобавлено: 22 апр 2014, 19:52 

Зарегистрирован: 31 июл 2013, 09:40
Сообщения: 28
Может, кому-нибудь, кроме меня, пригодится, так что выложу тут.

Написал расширение для виндового gdb, запускающее при подключении к 127.0.0.1 эмулятор QEMU с заданными параметрами. Порт подключения берется из параметров QEMU. Параметры эмулятора, путь до QEMU, а также имя EXE задаются в конфигурационном файле qemu_gdb.ini, который должен лежать рядом с ws2_32.dl_. При запуске окошко QEMU привязывается к правому верхнему углу и находится поверх всех окон. Когда GDB разрывает соединение, QEMU закрывается. Контроль положения окошка осуществляется за счет инжекта Dll, так что разрядность QEMU должна совпадать с разрядностью gdb. Весь функционал расширения находится в ws2_32.dl_. Либа ведёт логирование своей работы в файл qemu_gdb.log, который лежит рядом с ней. В связке с eclipse очень удобно использовать при osdev'е под виндой. Пригодится лентяям, вроде меня, которым не нравится много кликать мышью.

В архиве по ссылке ниже лежит 32-битная версия GDB, библиотека с расширением, а также конфигурационный файл библиотеки. Если потребуется привязать расширение к другой версии отладчика, достаточно прописать ws2_32.dl_ в секции импорта GDB заместо ws2_32.dll.

Чтобы узнать порт, на котором будет висеть QEMU, либа парсит строку параметров и ищет там выражение вида:
Код:
-gdb tcp::N

, где N - это номер порта. Если не найдено, используется дефолтный порт 1234.

[ссылка на архив]

Кажется, всё.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB