|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Авг 22, 2004 15:01:24 · Поправил: S_T_A_S_ Привет всем. Первая удачная (?) попытка создать PDB файл для исходника компилируемого FASM. Для начала необходимо подготовиться: 1. Скачать FASM with listing отсюда 2. Отредактировать файл\fasm\SOURCE\FORMATS.INC: db 4,'data',19h,6 db 5,'debug',1Ah,6 ; <- добавить db 11,'discardable',19h,253. Откомпилировать fasm\SOURCE\LISTING\WIN32\FASM.ASM. Теперь FASM может создавать секцию 'DEBUG'. 4. Для компиляции оспользовать скрипт fasmd.js (см .аттач). Аргументы как у FASM - 1й имя исходника, 2й (опциональный) - результирующий файл. (по умолчанию - exe) 5. Теперь можно в OllyDebug сделать так: View -> Source files и открыть *.LST file. Так же полученные файлы работают (не всегда :) c AMD CodeAnalyst. Может ещё где поможет. Основная проблема на данный момент - отсутствие информации по новому формату Program DataBase - MSF 7.00. Старый (PDB 2) слегка описан у Шрайбера, по новому немного инфы нашел здесь Пока всё это находится в экспериментальной стадии, так что всё реальзовано скриптом, позже надеюсь интегрировать в FASM. Ещё есть проблемы и с самим FASM'ом - не всегда есть возможность сгенерировать listing, так что ещё много чего нужно будет сделать. Но надеюсь уже сейчас это будет полезно. _440747787__pdb.zip |
|
|
Дата: Авг 23, 2004 00:55:46 S_T_A_S_ У меня частенько в простых на первый взгляд программах FASM теряет контроль и генерит листинги по 100-200 Мб, состоящие из нулей. Также зацикливание происходит в таком коде:
macro m1 a,b
{
if ~defined b
if a > 0
b = 1
else
b = 0
end if
end if
}
; DEBUG_FUNCTIONS = 1
DEBUG = 0
m1 DEBUG,DEBUG_FUNCTIONS
|
|
|
Дата: Авг 23, 2004 01:43:35 Это ещё сложная программа :) Вот проще: format pe if 0 nop end if В общем-то, проблема известная. listing.inc достаточно сырой, буду копать его, всё равно мне скрипт не кажется дзенным решением :) Это просто макет для обкатки. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.108 |