Board.KolibriOS.org

Official KolibriOS board
It is currently Tue Dec 10, 2019 5:52 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 132 posts ]  Go to page Previous 1 2 3 4 5 69 Next
Author Message
PostPosted: Wed Oct 06, 2010 10:23 pm 
Offline
User avatar

Joined: Fri Jun 27, 2008 3:22 pm
Posts: 988
Mario
Quote:
Отладчик может загружать файлы с информацией об именах в программе (метки,
глобальные переменные) - текстовые файлы, каждая строка которых имеет вид:
0x<hex_значение_адреса> <имя>
(строки, не имеющие такой вид, игнорируются). Такой файл может быть создан
вручную или сгенерирован автоматически при компиляции исходника FASM'ом.


Top
   
PostPosted: Thu Oct 07, 2010 12:07 pm 
Asper
Ты сам лично можешь выложишь здесь методику которая сама без лишних телодвижений формирует требуемый список без мусора?

Я вот не с мог - хотя гуглил, и рыл форум фасма. А что имел ввиду diamond - я не знаю, но мне так кажется, если бы такая методика готовая и без лишних телодвижений была, то он бы расписал ее.


Top
   
PostPosted: Thu Oct 07, 2010 12:51 pm 
Offline
User avatar

Joined: Fri Jun 27, 2008 3:22 pm
Posts: 988
Отладчиком редко пользуюсь и обычно отлаживаю свои программы, где я и без символов знаю каждую строку коду.
А что за мусор?


Top
   
PostPosted: Thu Oct 07, 2010 12:59 pm 
Ну так создай скрипт или батник (в зависимости от используемой системы):
Quote:
fasm -m 16384 animage.asm animage -s animage.fas
symbols animage.fas animage.sbl

В качестве animage естественно можно использовать любую другую программу.
Вот что получаем:
Code:
START: 0x00000000000022D8, defined in animage.asm[49]
IM_END: 0x000000000000AADD, defined in animage.asm[198]
I_END: 0x000000000001419C, defined in animage.asm[343]
stacktop: 0x000000000001419C, defined in animage.asm[341]
file_path: 0x000000000000EC9C, defined in animage.asm[316]
cur_dir_path: 0x0000000000011D9C, defined in animage.asm[332]
RECT.left: 0x0000000000000000, defined in {line generated by {line generated by {line generated by {line generated by {line generated by {line generated by ..\..\..\macros.inc[470] from ..\..\..\struct.inc[60]}}} from ..\..\..\struct.inc[80]}} from ..\..\..\struct.inc[88]}
sizeof.RECT.left: 0x0000000000000004, defined in {line generated by {line generated by {line generated by {line generated by {line generated by {line generated by ..\..\..\macros.inc[470] from ..\..\..\struct.inc[60]}}} from ..\..\..\struct.inc[80]}} from ..\..\..\struct.inc[89]}
RECT.top: 0x0000000000000004, defined in {line generated by {line generated by {line generated by {line generated by {line generated by {line generated by ..\..\..\macros.inc[470] from ..\..\..\struct.inc[60]}}} from ..\..\..\struct.inc[80]}} from ..\..\..\struct.inc[88]}
sizeof.RECT.top: 0x0000000000000004, defined in {line generated by {line generated by {line generated by {line generated by {line generated by {line generated by ..\..\..\macros.inc[470] from ..\..\..\struct.inc[60]}}} from ..\..\..\struct.inc[80]}} from ..\..\..\struct.inc[89]}
RECT.right: 0x0000000000000008, defined in {line generated by {line generated by {line generated by {line generated by {line generated by {line generated by ..\..\..\macros.inc[470] from ..\..\..\struct.inc[60]}}} from ..\..\..\struct.inc[80]}} from ..\..\..\struct.inc[88]}
sizeof.RECT.right: 0x0000000000000004, defined in {line generated by {line generated by {line generated by {line generated by {line generated by {line generated by ..\..\..\macros.inc[470] from ..\..\..\struct.inc[60]}}} from ..\..\..\struct.inc[80]}} from ..\..\..\struct.inc[89]}
RECT.bottom: 0x000000000000000C, defined in {line generated by {line generated by {line generated by {line generated by {line generated by {line generated by ..\..\..\macros.inc[470] from ..\..\..\struct.inc[60]}}} from ..\..\..\struct.inc[80]}} from ..\..\..\struct.inc[88]}
sizeof.RECT.bottom: 0x0000000000000004, defined in {line generated by {line generated by {line generated by {line generated by {line generated by {line generated by ..\..\..\macros.inc[470] from ..\..\..\struct.inc[60]}}} from ..\..\..\struct.inc[80]}} from ..\..\..\struct.inc[89]}
sizeof.RECT: 0x0000000000000010, defined in {line generated by {line generated by {line generated by {line generated by {line generated by {line generated by ..\..\..\macros.inc[470] from ..\..\..\struct.inc[60]}}} from ..\..\..\struct.inc[80]}} from ..\..\..\struct.inc[97]}
BOX.left: 0x0000000000000000, defined in {line generated by {line generated by {line generated by {line generated by {line generated by {line generated by ..\..\..\macros.inc[477] from ..\..\..\struct.inc[60]}}} from ..\..\..\struct.inc[80]}} from ..\..\..\struct.inc[88]}
sizeof.BOX.left: 0x0000000000000004, defined in {line generated by {line generated by {line generated by {line generated by {line generated by {line generated by ..\..\..\macros.inc[477] from ..\..\..\struct.inc[60]}}} from ..\..\..\struct.inc[80]}} from ..\..\..\struct.inc[89]}
BOX.top: 0x0000000000000004, defined in {line generated by {line generated by {line generated by {line generated by {line generated by {line generated by ..\..\..\macros.inc[477] from ..\..\..\struct.inc[60]}}} from ..\..\..\struct.inc[80]}} from ..\..\..\struct.inc[88]}

Attachment:
animage_dbg.7z [10.01 KiB]
Downloaded 60 times


.fas файл так вообще гигантский и имеет бинарные включения.


Top
   
PostPosted: Thu Oct 07, 2010 1:52 pm 
Offline
User avatar

Joined: Fri Jun 27, 2008 3:22 pm
Posts: 988
Я так понимаю нужно просто в каждой строке удалять информацию после запятой (включительно) и до конца строки а также двоеточие. Операция вроде несложная можно сделать простую программу, которая будет переводить такие файлы в нужный формат.


Top
   
PostPosted: Thu Oct 07, 2010 2:06 pm 
Зачем? Куча промежуточных файлов. Если сразу можно сделать нормальное выдергивание из FAS файла.


Top
   
PostPosted: Thu Oct 07, 2010 2:14 pm 
Offline
User avatar

Joined: Fri Jun 27, 2008 3:22 pm
Posts: 988
Вообще обработка символьной информации обычно не вызывает затруднений.


Top
   
PostPosted: Thu Oct 07, 2010 2:25 pm 
Мы уже ушли в полный оффтоп. Замечу лишь - наличие сразу готового для работы файла намного упрощает жизнь и экономит время.


Top
   
PostPosted: Thu Oct 07, 2010 3:17 pm 
Offline
User avatar

Joined: Wed Jan 27, 2010 10:59 am
Posts: 269
Asper
Ага, давайте редактировать изображения в hex-редакторе, писать опкодами программы, и забивать микроскопом гвозди :) Марио прав, хотя лучше всё-таки доработать T_Edit или TinyPad, чтобы можно было нормально работать в KoOS, а не (оужас!) в Винде и в Линуксах.

_________________
ушёл...


Top
   
PostPosted: Thu Oct 07, 2010 3:26 pm 
Nasarus wrote:
Asper
хотя лучше всё-таки доработать T_Edit или TinyPad, чтобы можно было нормально работать в KoOS, а не (оужас!) в Винде и в Линуксах.

Одно другому не мешает. Генерацию информации dbg можно сделать как под Колибри, так и под Линукс и Виндовс.


Top
   
PostPosted: Thu Oct 07, 2010 3:35 pm 
Offline
User avatar

Joined: Wed Jan 27, 2010 10:59 am
Posts: 269
FASM для Колибри поддерживает генерацию .dbg файла.

_________________
ушёл...


Top
   
PostPosted: Thu Oct 07, 2010 3:49 pm 
Хм, а ведь точно. :mrgreen:
Заработался я совсем - в самой Колибри давно уже не компилировал. Тогда вопрос снимается - вся функциональность есть в FASM, который в самой Колибри. Сам отладчик тоже дорабатывать не нужно. Буду заниматься другими вещами. А инструкцию по отладчику надо дополнить подробным описанием.

Разве что Тинипад дополнить компиляцией с параметром для отладчика и FASM на прием этого параметра, через параметры запуска оформить (как это сделано например в Jpegview, zSea и KIV).


Top
   
PostPosted: Thu Oct 07, 2010 5:21 pm 
Offline
User avatar

Joined: Fri Jun 27, 2008 3:22 pm
Posts: 988
А я-то думал, что это именно FASM для Колибри выводит несовместимый .dbg файл.


Top
   
PostPosted: Fri Oct 08, 2010 2:41 pm 
Offline
Just Flooding
User avatar

Joined: Wed May 18, 2005 10:27 am
Posts: 430
Пару вопросов.
1. поддерживает ли отладчик брэйкпоинты?
2. можно лизить по ядру и отлаживать его тело, например пошагово, дампить массивы ?


Top
   
PostPosted: Fri Oct 08, 2010 3:02 pm 
VaStaNi
Если прочтешь документацию, то найдешь ответы.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 132 posts ]  Go to page Previous 1 2 3 4 5 69 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