Board.KolibriOS.org
http://board.kolibrios.org/

MTDBG - отладчик пользовательского уровня
http://board.kolibrios.org/viewtopic.php?f=45&t=358
Page 5 of 9

Author:  VaStaNi [ Fri Oct 08, 2010 3:56 pm ]
Post subject:  Re: Нужен ли отладчик?

Т.е. на такой простой вопрос да-нет мне мануалы искать читать нужно???
А что на форуме либо ответов никто не знает или западло сказать да-нет, либо никто ее не читал и следовательно не пользовался...

Author:  Mario [ Fri Oct 08, 2010 4:08 pm ]
Post subject:  Re: Нужен ли отладчик?

На предыдущей странице от твоего поста я разместил архив с ODT и PDF файлом документации. Даже искать ничего не нужно - открываешь документацию и первыми же словами по сути получаешь ответ на заданные вопросы:
Quote:
Общее описание
В каждый момент времени mtdbg может отлаживать только одну программу.
Назовём такую программу загруженной для отладки. Если никакая программа не
загружена, абсолютное большинство действий по отладке недоступно.

А чуть погодя:
Quote:
Точки останова
Обычно требуется, чтобы программа нормально выполнялась, но при
наступлении определённых условий программа приостанавалась и управление получал
отладчик. Соответствующие условия называются точками останова, breakpoint(s), в
просторечии - бряками. Простейший тип точек останова - на конкретный адрес, т.е.
прерывать выполнение при eip=<заданное значение>. Такие точки останова
устанавливаются командой:

но обыкновенная лень заставляет бросаться словами:
VaStaNi wrote:
А что на форуме либо ответов никто не знает или западло сказать да-нет, либо никто ее не читал и следовательно не пользовался...


З.Ы. Когда я на работе задаю слишком простые вопросы мне всегда отвечают "Читай принципы операций". Почему то я не считаю, что им "западло" ответить. Отвечать на вопросы человека, если он не желает прочитать документацию - ну, можешь тогда называть это "западло" - я не возражаю.

Author:  XVilka [ Thu Apr 12, 2012 4:15 am ]
Post subject:  Re: Нужен ли отладчик?

В процессе активного использования отладчика (для работы над dream) я понял чего мне не хватает в нем.
Пытаюсь разобраться с отладчиком. Поставил перед собой следующие задачи:
  • (WIP) повторение предыдущей команды отладчика по нажатию Enter (если пустая командная строка)
  • (50% DONE) поддержка числового аргумента в операциях step и proceed
  • история команд и навигация по ней
  • поддержка скриптования и загрузки скрипта из файла
  • сохранение области памяти в файл
Начал с простого, написал маленький патч. Step работает как задумано, на все 100%. Но не proceed и повторение
Прикрепляю новый файл и файл патча

однако не работает ни повторение предыдущей команды, и proceed заходит внутри функция. В чем мои ошибки?

Attachments:
mtdbg.patch.gz [1.74 KiB]
Downloaded 122 times
mtdbg.asm [102.2 KiB]
Downloaded 125 times

Author:  Mario [ Thu Apr 12, 2012 11:50 pm ]
Post subject:  Re: MTDBG - отладчик пользовательского уровня

Насчет высказанных идей.
1) Не очень правильно - можно ведь случайно нажать и угробить все. Лучше повесить на определенную комбинацию или просто клавишу.
2) Да.
3) Да.
4) Не понятно для чего.
5) Да.

Author:  Gluk [ Fri Apr 13, 2012 5:06 pm ]
Post subject: 

первый пункт неверен, и должен быть заменен историей команд

Author:  XVilka [ Fri Apr 13, 2012 7:17 pm ]
Post subject:  Re: MTDBG - отладчик пользовательского уровня

В gdb сделано повторение предыдущей команды по нажатию Enter. Но вот отдельная клафиша для этого - стоящий вариант

Author:  XVilka [ Sat Jun 02, 2012 8:13 pm ]
Post subject:  Re: MTDBG - отладчик пользовательского уровня

Прилагаю новую промежуточную версию (пока не готова для коммита в svn) mtdbg.
Я разбил эту простыню на несколько файлов, и выделил GUI в gui.inc
Также старался комментировать непонятные места (вдруг кому-то еще захочется модифицировать)
Вынес движок дизассемблера в отдельный файл (планирую потом над ним поработать отдельно)
Провел небольшой рефакторинг. Перевел на использование макроса mcall, там где это возможно.
Начал имплементить поддержку FPU/MMX/SSE - пока только "заготовка"
Ну и конечно, новые нескучные обоиподдержка задания цветовой схемы при компиляции.
Надо лишь поменять константы COLOR* в файле gui.inc
В приложенном файле для примера использована инверсная тема. Основной останется какая была.
Добавлен файл README, в котором указаны возможные направления развития (над которыми уже работаю, или только планирую).

P.S. Может переименовать в KDBG? (после того, как доделаю то, что планирую, и отправлю коммит)

Attachments:
File comment: mtdbg
mtdbg.tar.gz [31.96 KiB]
Downloaded 204 times

Author:  Leency [ Sat Jun 02, 2012 8:45 pm ]
Post subject:  Re: MTDBG - отладчик пользовательского уровня

Я за переименование.

Author:  SoUrcerer [ Sat Jun 02, 2012 8:59 pm ]
Post subject:  Re: MTDBG - отладчик пользовательского уровня

А можно добавить возможность просматривать память процесса и подтягивать исходный код ЯВУ по map-файлам, к примеру, gcc? (Хотя, чего уж там, второе - совсем не нужно).

Author:  XVilka [ Sat Jun 02, 2012 9:14 pm ]
Post subject:  Re: MTDBG - отладчик пользовательского уровня

Мне вот только интересно, почему она так страшно подмигивает мне? Особенно это заметно, если загрузить какую-нибудь программу, и выполнить много инструкций за раз, например "s 50"
Для яву примочки делать не буду - и так недоделанного куча, а это сложная задача.

И еще вопрос. Требуется разделить вывод дизассемблера. На данный момент дизассемблер вывод всю инструкцию одной строкой. Какую конкретную структуру данных посоветуете использовать, для сохранения вывода дизассемблера? Отдельно префикс, интрукция, операнды. Что бы это побыстрее работало. По сколько байт выделять на каждое поле?

Author:  Nable [ Sat Jun 02, 2012 10:05 pm ]
Post subject:  Re: MTDBG - отладчик пользовательского уровня

Хотите переименовать - тогда уж хотя бы в KosDBG, а то и так в глазах рябит от KGDB, будут ещё очепятываться постоянно.

Author:  Mario [ Sat Jun 02, 2012 10:08 pm ]
Post subject:  Re: MTDBG - отладчик пользовательского уровня

Отладчик KGB...

Author:  Nable [ Sat Jun 02, 2012 10:10 pm ]
Post subject:  Re: MTDBG - отладчик пользовательского уровня

я вот постеснялся это писать, хотя и хотел.

Author:  Leency [ Sat Jun 02, 2012 10:12 pm ]
Post subject:  Re: MTDBG - отладчик пользовательского уровня

KDB?

Author:  Serge [ Sat Jun 02, 2012 11:20 pm ]
Post subject:  Re: MTDBG - отладчик пользовательского уровня

XVilka
Ты хочешь хранить в строковом формате или перекодировать в свой двоичный формат ?

Page 5 of 9 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/