Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.09.06;
Скачать: [xml.tar.bz2];

Вниз

Обработка 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.004 c
3-1226639341
rar
2008-11-14 08:09
2009.09.06
Длинная строка


2-1246683083
shamans
2009-07-04 08:51
2009.09.06
Как получить бит числа?


4-1216299440
v
2008-07-17 16:57
2009.09.06
XP темы, PageControl и TEdit


15-1245787291
Игорь Шевченко
2009-06-24 00:01
2009.09.06
Дядя Юра, с днем рождения!


15-1246859821
AlexDan
2009-07-06 09:57
2009.09.06
ещё немного по html..





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский