Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2012, 18:39   #1
GreenWizard
мальчик-помогай =)
Форумчанин
 
Регистрация: 16.09.2010
Сообщений: 522
По умолчанию Разбор map-файла и получение реального адреса функций

Всем доброе время суток!

На вход программы подаётся сгенерированный компилятором map-файл (от др. проекта) и адрес функции некой (тоже с др. проекта)... задача: определить название/модуль этой функции.

Пробовал сам парсить map-файл, пробовал через JclDebug-модуль, но получал совсем не те адреса! т. е. по данным файла функция находится по адресу А, по данным компилятора по адресу В, а между А и В пара сотен Кб (ну точно не простой оффсет)

Буду очень благодарен за помощь!

Сразу отвечу на вопросы глупые:
1) а зачем это? - для собственного логгера специального
2) а почему не применить логгер ХХХ? - потому что он не специальный и в систему его не внедрить
GreenWizard вне форума Ответить с цитированием
Старый 14.06.2012, 19:18   #2
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

$1000 - смещение между началом секции кода и началом модуля.
$400000 - базовый адрес exe.

+ в заголовке map файла указаны смещения секций.

Точная структура map файла зависит от версии Delphi.

JclDebug должен всё это учитывать.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 14.06.2012, 19:56   #3
GreenWizard
мальчик-помогай =)
Форумчанин
 
Регистрация: 16.09.2010
Сообщений: 522
По умолчанию

кхм, не учитывает он этого
и отличие адресов действительно $401000 Оо похоже вопрос снят, спасибо!
GreenWizard вне форума Ответить с цитированием
Старый 14.06.2012, 19:57   #4
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Есть мнение, что ты ему неверные данные на вход суёшь.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение адреса ячейки Sergey112233 Microsoft Office Excel 2 04.08.2011 17:08
получение ip адреса the_deer_one Общие вопросы .NET 4 07.07.2011 14:12
Получение IP адреса Letnab Работа с сетью в Delphi 4 07.03.2011 15:12
Получение адреса кластера из таблицы в файловой системе FAT12 anyx Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 28.02.2011 14:26