Board.KolibriOS.org

Official KolibriOS board
It is currently Wed Dec 11, 2019 12:39 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 132 posts ]  Go to page Previous 1 2 3 4 59 Next
Author Message
 Post subject:
PostPosted: Mon Jun 26, 2006 3:41 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Модификация, теперь mtdbg использует новую функцию 70.7 для запуска. Для работы необходимо ядро ревизии 91.
http://diamondz.land.ru/mtdbg1.7z (бинарник+исходники+описание)

_________________
Ушёл к умным, знающим и культурным людям.


Top
   
 Post subject:
PostPosted: Thu Jun 14, 2007 1:01 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Добавил поддержку информации об именах в программе. Такой файл может быть сгенерирован fasm'ом автоматически (версия на svn) или создан вручную: набор строк вида "0x<адрес> <имя>" (все строки, не начинающиеся с 0x, игнорируются). Можно загрузить явно командой "load-symbols <имя-файла>" или неявно, обозвав его так же, как и бинарник, но с расширением dbg.
Ссылка та же.


Top
   
PostPosted: Thu Sep 27, 2007 10:54 am 
Offline
Kernel Optimizer
User avatar

Joined: Mon Jan 16, 2006 7:58 pm
Posts: 657
diamond
Последнее время пользуюсь достаточно часто отладчиком. Не мог бы ты сделать следующее:
1) Клавишами курсора перемещаться по дебаг-листингу программы
2) при вводе в строке ввода сделать поддержку tab т.е. как на Cisco оборудовании, вводишь начало слова, нажимаешь таб, а дальше система подставляет оставшуюся команду. Сделать память на посление команды, вводимые в строке ввода, при фокусировке на строке ввода, клавишами вверх-вниз проматывать историю команд.
Могу порекомендовать использовать Editbox, все выше перечисленное достаточно просто реализуется.
3) Хотелось бы просматривать дамп в отдельном окне и иметь возможность навигации по DATA.
У меня не всегда получалось снять breakpoint. :(


Top
   
PostPosted: Tue Oct 02, 2007 11:50 am 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Будет время - что-нибудь сделаю. Кстати, имей в виду, что в общем случае для x86 перемещаться по дизассемблированному листингу назад невозможно (нельзя однозначно сказать, какая инструкция была предыдущей).
Насчёт дампа в отдельном окне не понял.


Top
   
PostPosted: Wed Oct 03, 2007 7:18 am 
Offline
Kernel Optimizer
User avatar

Joined: Mon Jan 16, 2006 7:58 pm
Posts: 657
Я имел ввиду перемещение по листингу - просмотр кода, мне порой удобнее проматать вниз или вверх клавишами, чем использовать инструкцию u <адресс>. У тебя есть команда d <адресс> - показать содержимое памяти. у тебя показывается порой очень мало данных в этом окне. Если возможно сделай возможность просмотра данных в отдельном окне, с навигацией по массиву кода. (Перемещение клавишами курсора, и просмотр содержимого что - то на подобии hiew


Top
   
PostPosted: Wed Oct 03, 2007 4:02 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
diamond об этом и говорит. Определить какая инструкция была последней (длиной 1, 2, 3 или больше байт) затруднительно. В зависимости от того с какого адреса ты начнешь дизасемблировать код у тебя будет менять набор инструкций.
Хотя это полезная фича, она конечно нужна.

..bw


Top
   
PostPosted: Fri Oct 05, 2007 9:28 pm 
Offline
User avatar

Joined: Mon Apr 16, 2007 6:38 pm
Posts: 1222
за поддержку информации о именах в программе огромное спасибо! отлаживать стало намного приятнее! =)

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Top
   
PostPosted: Mon Oct 08, 2007 2:49 pm 
Классный отладчик. Завидую...


Top
   
PostPosted: Mon Nov 09, 2009 8:45 pm 
Offline

Joined: Fri Oct 12, 2007 1:04 pm
Posts: 141
Во-первых, заметил один баг: при определённых обстоятельствах MTDBG не показывает данные по имени адреса (при этом в листинге отражается именно он, а на команду d пишет Parse error) (см. вложение). Если надо, могу выложить файлы (исполняемый и dbg) на которых это заметил.
Во-вторых, есть ещё один мелкий баг: при перерисовке рисуется не всё окно (тоже видно во вложении).


Attachments:
File comment: Скриншот
bug2.png
bug2.png [ 40.85 KiB | Viewed 3045 times ]
Top
   
PostPosted: Wed Nov 11, 2009 1:30 am 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Посмотрел на код работы с таблицей символов, один баг исправил, больше не вижу. Если svn.1265 (она же версия, включённая в последнюю ночную сборку) всё равно работает с символами неправильно, файл .dbg в студию (исполняемый необязательно).

_________________
Ушёл к умным, знающим и культурным людям.


Top
   
PostPosted: Wed Nov 11, 2009 9:36 am 
Offline
Kernel Optimizer
User avatar

Joined: Mon Jan 16, 2006 7:58 pm
Posts: 657
Нужен ли MTDBG компонент edit_box, и подключаемая библиотека box_lib.obj?


Top
   
PostPosted: Wed Nov 11, 2009 1:08 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
<Lrz>
В данный момент - нет.

_________________
Ушёл к умным, знающим и культурным людям.


Top
   
PostPosted: Thu Nov 12, 2009 12:04 am 
Offline

Joined: Fri Oct 12, 2007 1:04 pm
Posts: 141
diamond
Вроде бы работает. Кстати, то, что отладчик при некоторых вылетах программы тоже вылетает, это неизбежно? Или это баг? Если надо, могу уточнить подробности.


Top
   
PostPosted: Fri Nov 13, 2009 12:49 am 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Отрисовку поправил, svn.1269 (включена в последнюю ночную сборку).
Вроде у меня тоже вылетал, когда из-за глюков со стеком отлаживаемая программа прыгнула на FFFFFFFF. Вроде системная функция read_process_memory от таких запросов грохается вместе с вызывающим процессом.

_________________
Ушёл к умным, знающим и культурным людям.


Top
   
PostPosted: Tue Oct 05, 2010 10:29 pm 
Некоторое время назад разбирался с отладчиком и сделал раскрашенный вариант документации.
Attachment:
mtdbg_pdf_odt.7z [145.9 KiB]
Downloaded 92 times

В архиве ODT и PDF файлы.

Также, если кому интересно - список меток с адресами можно получить использовав утилиты идущие в комплекте с 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


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 132 posts ]  Go to page Previous 1 2 3 4 59 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited