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

Вниз

Анализ сообщения "Access Violation"   Найти похожие ветки 

 
Th   (2004-07-09 16:35) [0]

Нечто подобное часто можно увидеть при работе с Делфи:

"Exception EAccessViolation in module XXXXXX.exe at 00003A30.
Access violation at address 00403A30 in module "XXXXXX.exe".
Read of address 00000001"

Подскажите, кто знате, что обозначают цифры 00003А30 и 00403А30. С цифрой 00000001 вроде понятно..
И еще связанный с этим вопрос: в окне asm-debugger есть два окна, не считая стека, регистров и флагов: Верхнее окно с мнемо-кодом и нижнее с машинным кодом. Вопрос - что означают адреса слева в этих окнах.
В нижнем возможно смещение от начала ехе файла?
В верхнем адрес инструкции в памяти после загрузки ехе файла?


 
Digitman ©   (2004-07-09 16:41) [1]


> что обозначают цифры 00003А30 и 00403А30


адреса в АП текущего процесса


>  что означают адреса слева в этих окнах


то же самое и означают


> В нижнем возможно смещение от начала ехе файла ?


адрес в АП текущего процесса


> В верхнем адрес инструкции в памяти после загрузки ехе файла?


адрес инструкции в АП текущего процесса !


 
Th   (2004-07-09 16:53) [2]

Спасибо..
Тогда возникает вопрос - почему сначала пишется просто 3А30, а
во вотором предложении 403А30? 400000 - это что? Image Base? и какой смысл она имеет, если это так?


 
Тимохов ©   (2004-07-09 17:00) [3]

403А30 - это абсолютный адрес в витруальной памяти процесса, где произошло исключение (т.к. адрес инструкции).

имхо


 
Anatoly Podgoretsky ©   (2004-07-09 17:05) [4]

Th   (09.07.04 16:53) [2]
Это что бы ты не отнимал 400000 самостоятельно


 
Тимохов ©   (2004-07-09 17:06) [5]


>  Image Base? и какой смысл она имеет, если это так?

ну типа твое приложение загружено про указанному адресу.


 
Th   (2004-07-09 17:12) [6]

Спасибо за ответы ;)
Но странно вот что:
Если 400000 - это стандартный адрес для Win32 по которому система грузит приложения, то логично предположить, что вероятнее всего этот адрес будет занят ранее запущенным приложением. Однако моя программа строго всегда оказывается загруженной по этому адресу. Почему?


 
Anatoly Podgoretsky ©   (2004-07-09 17:15) [7]

Не логично, у каждого приложение свое АП


 
Th   (2004-07-09 17:19) [8]

Ага.. Понял ;)


 
han_malign ©   (2004-07-09 17:39) [9]

$00400000 - ImageBase - если укажешь линковщику другой({$M reservedbytes}или{$RESOURCERESERVE reservedbytes}или в опциях) - будет другой...
Для того чтобы найти модуль/сроку в map-файле, для Delphi-приложений нужно еще отнять $00001000 - стандартное смещение линковщика Borland.


 
Тимохов ©   (2004-07-09 18:07) [10]


> Th   (09.07.04 17:12) [6]
> Однако моя программа строго всегда оказывается
> загруженной по этому адресу. Почему?


Меня могут упрекнуть за излишнюю любовь к этому автору, но все же

Книга
http://www.books.ru/shop/books/8283
имхо обязательна для прочтения.



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

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

Наверх




Память: 0.49 MB
Время: 0.023 c
8-1083934735
Женя
2004-05-07 16:58
2004.07.25
Проверить какого цвета точка


1-1089358673
mochoni
2004-07-09 11:37
2004.07.25
текстовый файл


4-1086427429
leonidus
2004-06-05 13:23
2004.07.25
Перехват содержимого буфера обмена.


14-1089015343
WondeRu
2004-07-05 12:15
2004.07.25
Давайте создадим новую конференцию "Женщины и выпивка"


3-1088503541
SergeyV
2004-06-29 14:05
2004.07.25
ADOConnection теряет соединение