MTDBG - отладчик пользовательского уровня

...
  • macgub wrote:Very nice. Your screenshot looks charming... :D
    That was a screenshot of how the mentioned bug looked like :) Now labels ain't cropped like that.
  • I noticed labels now arent present at all. (Version from 18 april 2021) :(
  • Kenshin wrote:SVN rev. 8591:
    • исправлен баг с отображением меток, загруженных из отладочного файла; вот так он выглядел:
    • история команд (прокручивается с помощью стрелок вверх/вниз)
    • слегка освежил документацию к программе
    Tnx, good work!
    Everything is very useful.
  • I beg yours pardon. Labels work OK. Again sorry, I'm mistaken.
  • При отладке своих программ в MTDBG, у меня отладчик регулярно падал по непонятной причине. Даже ранее писал в багрепорт.
    Так как использование MTDBG в среде Колибри ОС мне удобнее, чем со встроенным отладчиком в Виртуалбоксе, то решил отреверсить отладчик MTDBG в самом отладчике MTDBG.

    Выяснилось следующее:
    В MTDBG есть баг с дизассемблированием инструкций, работающих с данными в WORD.
    Например, если скомпилировать в FASMе файл .asm с командой repne scasw / repnz stosw и скормить его отладчику, то отладчик молча падает.
    Проблема в том, что отладчик ожидает стандартный набор опкодов типа 66 F2 AF для команды repne scasw.
    Однако FASM компилирует эту команду немного по другому: - в F2 66 AF.
    В данной ситуации отладчик воспринимает опкод 66, после опкода F2, как "неизвестный".
    В принципе, пусть отладчик и обрабатывает этот опкод как «неизвестный». Однако, процедура обработки «неизвестного опкода» имеет ошибку, что приводит к падению отладчика.

    В итоге мной сделаны соответствующие изменения в исходнике отладчика MTDBG: disasm.inc
    1. Строка 266 (устранена причина паления отладчика при обработке неизвестного опкода)
    2. Строка 332 (добавлен код для корректной обработки не стандартных опкодов ассемблерных инструкции в WORD)

    У меня нет доступа к изменению файлов в SVN, поэтому выкладываю исправленный исходник отладчика «disasm.inc” здесь.
    Attachments
    disasm.inc (58.05 KiB)
    Downloaded 137 times
  • Good find!
    Merged #9209
    "Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein
  • Who is online

    Users browsing this forum: No registered users and 4 guests