Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.09.06;
Скачать: CL | DM;

Вниз

Обработка CallStack и SEH-фреймов   Найти похожие ветки 

 
Пит   (2009-07-03 19:12) [0]

Может, у кого есть код решения следующих задач.

1) как можно более простая функция, которая в каком-либо удобоваримом формате возвращает стек вызовов как набор pointer"ов.

То есть, клиент присылает этот набор букв, являющихся списком Pointer"ов, а я с помощью MAP файла от данной версии EXE"шника преобразую это в именованную цепочку вызовов.

2) функция, которая будет возвращать список pointer"ов, последовательно указывающих на обработчики исключений, вытаскивая их из SEH-фреймов.

При этом нужен какой-то алгоритм генерирования некоего файла с соответствиями "указатель на обработчик исключения = имя модуля и строки" - это самое сложное, я так понимаю.

Ну и уточняющий вопросец - правильно ли я понимаю, что если между возникновением исключения и определенным обработчиком "стоит" TRYF, то останется информация только о последнем SEH-фрейме?
И аналогично для TRYE с ререйзом?


 
Пит   (2009-07-03 19:14) [1]

Ну и такой ламерский вопрос в тему. Я делаю так:

procedure My;
begin
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 edit1.Text := inttostr(cardinal(@My));
end;


Почему я вижу адрес: 44F04C

Когда в MAP файле такая запись:

0001:0004E04C       My


 
Игорь Шевченко ©   (2009-07-03 19:41) [2]

RTFM: Image base address, Code segment base


 
Kerk ©   (2009-07-03 21:01) [3]

Помню, в молодости я kernel32.dll в памяти искал, бегая по SEH. Во времена были!


 
atruhin ©   (2009-07-04 06:03) [4]

В jcl это реализованно, Alex Konshin с год назад, здесь выкладывал свою реализацию.
EurekaLog то же самое.


 
Piter ©   (2009-07-04 10:32) [5]

Удалено модератором
Примечание: п. 5


 
Kerk ©   (2009-07-04 11:43) [6]

Подозреваю, что в MAP-файле чего-то не то. Странно, что .text и .data одно смещение имеют. Посмотри лучше PE-заголовок каким-нибудь HIEW.



Страницы: 1 вся ветка

Текущий архив: 2009.09.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.048 c
2-1246968716
cyber-pilot
2009-07-07 16:11
2009.09.06
Формат даты


2-1246946282
девушка
2009-07-07 09:58
2009.09.06
CommandText does not return a result set


9-1182099522
nuflin
2007-06-17 20:58
2009.09.06
как запустить исходник quake2


15-1246060493
Клаус
2009-06-27 03:54
2009.09.06
помогите найти книгу


15-1246528418
DelphiN!
2009-07-02 13:53
2009.09.06
Определить замыкание 2х ножек com порта