Page 9 of 10

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

Posted: Thu May 01, 2014 7:29 pm
by Serge
Wildwest
Может, но в это строку надо ещё SSE32/SSE64/MMX128 и для AVX место оставить.

Re: Нужен ли отладчик?

Posted: Fri Nov 21, 2014 6:59 pm
by yogev_ezra
Mario wrote:Также, если кому интересно - список меток с адресами можно получить использовав утилиты идущие в комплекте с FASM.
Например для линуксовой версии это выглядит приблизительно так:

Code: Select all

#!/bin/bash
#
	echo "lang fix ru"
	echo "lang fix ru" > lang.inc
	fasm -m 16384 animage.asm animage -s animage.fas
	listing -b 4 animage.fas animage.dbg
	symbols animage.fas animage.sbl
	rm -f lang.inc
	exit 0
Однако даже самый очищенный файл, полученный из утилиты symbols, содержит мусор. И к тому же порядок следования названий меток и адресов наоборот от требуемого для отладчика.

У меня есть планы прикрутить OpenDialog к отладчику для выбора отлаживаемого файла. Существующий синтаксис при этом не поменяется. Добавится только одна опция указывающая брать путь из области полученной от OpenDialog. По пути возможно доработаю утилиту symbols до необходимого отладчику формата *.dbg
Чтобы не потерялось - копирую из чата инструкцию от CleverMouse для генерирования *.dbg-файла (для MTDBG) из FASM под Linux:
CleverMouse « Fri Nov 21, 2014 5:16 pm » listing - утилита из комплекта fasm, если она даже не запускается, пусть сами разбираются, в чём дело
CleverMouse « Fri Nov 21, 2014 5:17 pm » yogev_ezra: я не удивлюсь, если они собрали tools/dos/listing.asm и удивляются, почему не работает
CleverMouse « Fri Nov 21, 2014 5:18 pm » я также не удивлюсь, если они скомпилировали tools/libc/listing.asm, но не слинковали
yogev_ezra « Fri Nov 21, 2014 5:18 pm » CleverMouse: А есть более простой способ получения .dbg для MTDBG под Linux?
CleverMouse « Fri Nov 21, 2014 5:21 pm » yogev_ezra: symbols kernel.fas kernel.lst && perl -ne 'print "$2\t$1\n" if m/([^:]*): (0x[^,]{16}),/ && $1 ne "@@"'
CleverMouse « Fri Nov 21, 2014 5:21 pm » listing - оно вообще не про то
yogev_ezra « Fri Nov 21, 2014 5:22 pm » CleverMouse: А symbols - тоже утилита из комплекта fasm, или встроенная в shell?
CleverMouse « Fri Nov 21, 2014 5:23 pm » yogev_ezra: утилита из комплекта fasm
yogev_ezra « Fri Nov 21, 2014 5:25 pm » CleverMouse: И kernel.lst можно будет скормить MTDBG, и будет достаточно?
CleverMouse « Fri Nov 21, 2014 5:26 pm » symbols kernel.fas kernel.lst && perl -ne 'print "$2\t$1\n" if m/([^:]*): (0x[^,]{16}),/ && $1 ne "@@"' kernel.lst > kernel.dbg
CleverMouse « Fri Nov 21, 2014 5:26 pm » kernel.lst в другом формате, однострочник на perl выбрасывает мусор и переводит формат

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

Posted: Fri Nov 21, 2014 7:57 pm
by Leency
Багрепорт.
SLenik wrote:Увидел в MTDBG ошибку - неверно дизассемблировалась инструкция ЯМК: 66 83 C3 80. В переводе на асм это значит "add bx, -128" или "add bx, 0FF80h". Но отладчик показывает эту инструкцию как "add bx, 0FFFFFF80h" что очевидно неверно (в микропроцессоре Intel размеры операндов у команды сложения должны быть одинаковы).

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

Posted: Fri Nov 21, 2014 8:30 pm
by hidnplayr
I hacked the 'symbols' tool that comes distributed with fasm, to generate .dbg file from .fas files.
Replace symbols.inc that comes with fasm (in 'tools' directory) with my version (http://ftp.kolibrios.org/users/hidnplayr/SYMBOLS.INC) and you can assemble a converter for windows/dos/linux!

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

Posted: Sun Nov 23, 2014 7:58 pm
by derlafff
я также не удивлюсь, если они скомпилировали tools/libc/listing.asm, но не слинковали
И правильно, так оно и было, спасибо %)
I hacked the 'symbols' tool that comes distributed with fasm, to generate .dbg file from .fas files.
Thanks a lot.

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

Posted: Thu Apr 02, 2015 11:01 pm
by sam0delk1n
При пошаговой отладке, примерно через каждые 10 шагов, происходит исключение 0D (General protection fault). При этом нельзя сделать следующий шаг. Однако можно ввести команду g <адрес_следующей_строки> и шагать дальше.

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

Posted: Fri Jan 20, 2017 7:50 am
by aristarh2704
MTDBG хорошая вещь, но очень надоедает пошаговое выполнение. Желательно бы добавить отслеживание системных и библиотечных вызовов.

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

Posted: Fri Jan 20, 2017 3:13 pm
by 0CodErr
Как оказалось, ещё за год до моего сообщения (скриншот под вторым спойлером) viewtopic.php?f=2&t=3297&p=66501#p66501 было известно
sam0delk1n wrote:При пошаговой отладке, примерно через каждые 10 шагов, происходит исключение 0D (General protection fault).
Но похоже, что воз и ныне там :(

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

Posted: Fri Jan 20, 2017 8:30 pm
by Siemargl
не сталкивался

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

Posted: Fri Jan 20, 2017 8:40 pm
by Pathoswithin
Я когда-то что-то запускал под отладчиком - такого не было.

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

Posted: Wed Sep 19, 2018 9:03 pm
by 0CodErr
Оказалось, что наш дебаггер не понимает имена файлов, содержащие пробелы.

Пробовал через командную строку, также с помощью команды дебаггера load, и пробовал писать путь в кавычках.
В результате пишет: "Cannot load program. File not found."
Сам загружаемый файл существует.
Spoiler:
1.png
1.png (26.58 KiB)
Viewed 10438 times

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

Posted: Tue Oct 23, 2018 4:23 pm
by 0CodErr
Проверил http://board.kolibrios.org/viewtopic.ph ... 157#p68065 на реальном железе — проблем не было, наверное, это глюк VirtualBox.

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

Posted: Wed Feb 05, 2020 6:18 pm
by IgorA
Обнаружил ошибку в MTDBG, при загрузке системы с расширением 800*600 окно MTDBG с большим шрифтом не влазит в экран.
Но это еще пол беды, проблема в том что отладчик входит в вечный мигательный цикл и с ним ничего уже сделать нельзя.
При больших экранах все работает как надо.

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

Posted: Sun Feb 09, 2020 3:31 pm
by macgub
BTW: SSE and maybye AVX support will be IMHO very useful. I think it's not only my opinion.

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

Posted: Fri Feb 12, 2021 9:19 pm
by Kenshin
SVN rev. 8591:
  • исправлен баг с отображением меток, загруженных из отладочного файла; вот так он выглядел:
    Spoiler:
    mtdbg_label_bug.png
    mtdbg_label_bug.png (9.76 KiB)
    Viewed 6982 times
  • история команд (прокручивается с помощью стрелок вверх/вниз)
  • слегка освежил документацию к программе