Т.е. на такой простой вопрос да-нет мне мануалы искать читать нужно???
А что на форуме либо ответов никто не знает или западло сказать да-нет, либо никто ее не читал и следовательно не пользовался...
MTDBG - отладчик пользовательского уровня
На предыдущей странице от твоего поста я разместил архив с ODT и PDF файлом документации. Даже искать ничего не нужно - открываешь документацию и первыми же словами по сути получаешь ответ на заданные вопросы:
А чуть погодя:Общее описание
В каждый момент времени mtdbg может отлаживать только одну программу.
Назовём такую программу загруженной для отладки. Если никакая программа не
загружена, абсолютное большинство действий по отладке недоступно.
но обыкновенная лень заставляет бросаться словами:Точки останова
Обычно требуется, чтобы программа нормально выполнялась, но при
наступлении определённых условий программа приостанавалась и управление получал
отладчик. Соответствующие условия называются точками останова, breakpoint(s), в
просторечии - бряками. Простейший тип точек останова - на конкретный адрес, т.е.
прерывать выполнение при eip=<заданное значение>. Такие точки останова
устанавливаются командой:
З.Ы. Когда я на работе задаю слишком простые вопросы мне всегда отвечают "Читай принципы операций". Почему то я не считаю, что им "западло" ответить. Отвечать на вопросы человека, если он не желает прочитать документацию - ну, можешь тогда называть это "западло" - я не возражаю.VaStaNi wrote:А что на форуме либо ответов никто не знает или западло сказать да-нет, либо никто ее не читал и следовательно не пользовался...
В процессе активного использования отладчика (для работы над dream) я понял чего мне не хватает в нем.
Пытаюсь разобраться с отладчиком. Поставил перед собой следующие задачи:
Прикрепляю новый файл и файл патча
однако не работает ни повторение предыдущей команды, и proceed заходит внутри функция. В чем мои ошибки?
Пытаюсь разобраться с отладчиком. Поставил перед собой следующие задачи:
- (WIP) повторение предыдущей команды отладчика по нажатию Enter (если пустая командная строка)
- (50% DONE) поддержка числового аргумента в операциях step и proceed
- история команд и навигация по ней
- поддержка скриптования и загрузки скрипта из файла
- сохранение области памяти в файл
Прикрепляю новый файл и файл патча
однако не работает ни повторение предыдущей команды, и proceed заходит внутри функция. В чем мои ошибки?
- Attachments
-
-
mtdbg.patch.gz (1.74 KiB)Downloaded 278 times
-
mtdbg.asm (102.2 KiB)Downloaded 280 times
-
Насчет высказанных идей.
1) Не очень правильно - можно ведь случайно нажать и угробить все. Лучше повесить на определенную комбинацию или просто клавишу.
2) Да.
3) Да.
4) Не понятно для чего.
5) Да.
1) Не очень правильно - можно ведь случайно нажать и угробить все. Лучше повесить на определенную комбинацию или просто клавишу.
2) Да.
3) Да.
4) Не понятно для чего.
5) Да.
первый пункт неверен, и должен быть заменен историей команд
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!
В gdb сделано повторение предыдущей команды по нажатию Enter. Но вот отдельная клафиша для этого - стоящий вариант
Прилагаю новую промежуточную версию (пока не готова для коммита в svn) mtdbg.
Я разбил эту простыню на несколько файлов, и выделил GUI в gui.inc
Также старался комментировать непонятные места (вдруг кому-то еще захочется модифицировать)
Вынес движок дизассемблера в отдельный файл (планирую потом над ним поработать отдельно)
Провел небольшой рефакторинг. Перевел на использование макроса mcall, там где это возможно.
Начал имплементить поддержку FPU/MMX/SSE - пока только "заготовка"
Ну и конечно,новые нескучные обоиподдержка задания цветовой схемы при компиляции.
Надо лишь поменять константы COLOR* в файле gui.inc
В приложенном файле для примера использована инверсная тема. Основной останется какая была.
Добавлен файл README, в котором указаны возможные направления развития (над которыми уже работаю, или только планирую).
P.S. Может переименовать в KDBG? (после того, как доделаю то, что планирую, и отправлю коммит)
Я разбил эту простыню на несколько файлов, и выделил GUI в gui.inc
Также старался комментировать непонятные места (вдруг кому-то еще захочется модифицировать)
Вынес движок дизассемблера в отдельный файл (планирую потом над ним поработать отдельно)
Провел небольшой рефакторинг. Перевел на использование макроса mcall, там где это возможно.
Начал имплементить поддержку FPU/MMX/SSE - пока только "заготовка"
Ну и конечно,
Надо лишь поменять константы COLOR* в файле gui.inc
В приложенном файле для примера использована инверсная тема. Основной останется какая была.
Добавлен файл README, в котором указаны возможные направления развития (над которыми уже работаю, или только планирую).
P.S. Может переименовать в KDBG? (после того, как доделаю то, что планирую, и отправлю коммит)
- Attachments
-
-
mtdbg.tar.gz (31.96 KiB)
- mtdbg
Downloaded 456 times
-
Я за переименование.
Из хаоса в космос
А можно добавить возможность просматривать память процесса и подтягивать исходный код ЯВУ по map-файлам, к примеру, gcc? (Хотя, чего уж там, второе - совсем не нужно).
Мне вот только интересно, почему она так страшно подмигивает мне? Особенно это заметно, если загрузить какую-нибудь программу, и выполнить много инструкций за раз, например "s 50"
Для яву примочки делать не буду - и так недоделанного куча, а это сложная задача.
И еще вопрос. Требуется разделить вывод дизассемблера. На данный момент дизассемблер вывод всю инструкцию одной строкой. Какую конкретную структуру данных посоветуете использовать, для сохранения вывода дизассемблера? Отдельно префикс, интрукция, операнды. Что бы это побыстрее работало. По сколько байт выделять на каждое поле?
Для яву примочки делать не буду - и так недоделанного куча, а это сложная задача.
И еще вопрос. Требуется разделить вывод дизассемблера. На данный момент дизассемблер вывод всю инструкцию одной строкой. Какую конкретную структуру данных посоветуете использовать, для сохранения вывода дизассемблера? Отдельно префикс, интрукция, операнды. Что бы это побыстрее работало. По сколько байт выделять на каждое поле?
Хотите переименовать - тогда уж хотя бы в KosDBG, а то и так в глазах рябит от KGDB, будут ещё очепятываться постоянно.
Отладчик KGB...
я вот постеснялся это писать, хотя и хотел.
KDB?
Из хаоса в космос
XVilka
Ты хочешь хранить в строковом формате или перекодировать в свой двоичный формат ?
Ты хочешь хранить в строковом формате или перекодировать в свой двоичный формат ?
Who is online
Users browsing this forum: No registered users and 18 guests