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

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

Author:  Serge [ Thu May 01, 2014 7:29 pm ]
Post subject:  Re: MTDBG - отладчик пользовательского уровня

Wildwest
Может, но в это строку надо ещё SSE32/SSE64/MMX128 и для AVX место оставить.

Author:  yogev_ezra [ Fri Nov 21, 2014 6:59 pm ]
Post subject:  Re: Нужен ли отладчик?

Mario wrote:
Также, если кому интересно - список меток с адресами можно получить использовав утилиты идущие в комплекте с FASM.
Например для линуксовой версии это выглядит приблизительно так:
Code:
#!/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:
Quote:
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 выбрасывает мусор и переводит формат

Author:  Leency [ Fri Nov 21, 2014 7:57 pm ]
Post subject:  Re: MTDBG - отладчик пользовательского уровня

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

Author:  hidnplayr [ Fri Nov 21, 2014 8:30 pm ]
Post subject:  Re: MTDBG - отладчик пользовательского уровня

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!

Author:  derlafff [ Sun Nov 23, 2014 7:58 pm ]
Post subject:  Re: MTDBG - отладчик пользовательского уровня

Quote:
я также не удивлюсь, если они скомпилировали tools/libc/listing.asm, но не слинковали

И правильно, так оно и было, спасибо %)

Quote:
I hacked the 'symbols' tool that comes distributed with fasm, to generate .dbg file from .fas files.

Thanks a lot.

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

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

Author:  aristarh2704 [ Fri Jan 20, 2017 7:50 am ]
Post subject:  Re: MTDBG - отладчик пользовательского уровня

MTDBG хорошая вещь, но очень надоедает пошаговое выполнение. Желательно бы добавить отслеживание системных и библиотечных вызовов.

Author:  0CodErr [ Fri Jan 20, 2017 3:13 pm ]
Post subject:  Re: MTDBG - отладчик пользовательского уровня

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

Author:  Siemargl [ Fri Jan 20, 2017 8:30 pm ]
Post subject:  Re: MTDBG - отладчик пользовательского уровня

не сталкивался

Author:  Pathoswithin [ Fri Jan 20, 2017 8:40 pm ]
Post subject:  Re: MTDBG - отладчик пользовательского уровня

Я когда-то что-то запускал под отладчиком - такого не было.

Author:  0CodErr [ Wed Sep 19, 2018 9:03 pm ]
Post subject:  Re: MTDBG - отладчик пользовательского уровня

Оказалось, что наш дебаггер не понимает имена файлов, содержащие пробелы.

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

Author:  0CodErr [ Tue Oct 23, 2018 4:23 pm ]
Post subject:  Re: MTDBG - отладчик пользовательского уровня

Проверил viewtopic.php?f=45&t=358&p=61157#p68065 на реальном железе — проблем не было, наверное, это глюк VirtualBox.

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