Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Access violation at addres - случаи возникновения [D6, WinXP]


leonidus ©   (2005-03-04 09:41:00) 

В моей программе которая в последнее время ну очень разрослась в размерах, стали появляться рантайм ошибки, причем совершенно не закономерно. В связи с чем хочу узнать возможные причины их возникровения, в программе много кода обрабатывающего строки, однако я стал специально экспериментировать с пустыми строками, обращался к ним по разному но ошибку вызвать не удалось. Очень хочется услышать ваши соображения.


Oleg_   (2005-03-04 11:04:00) [1]

Как сказал GLFox © нужно понять что за комбинации действий приводят к ошибкам.

Для отладки на машинах пользователей когда возникают проблемы я использую выстраивание специальных отладочных логов- сразу видно куда дошло выполнение кода. А так же блоки try except хорошо дифференцируют проблемы.


GLFox   (2005-03-04 10:44:00) [2]

>leonidus   (04.03.05 10:37) [5]
>Проблема в том что эти ошибки вылетают у юзеров а не намомей машине

Ну а при каких действиях? Можешь узнать у юзверей... Сопоставить операци со своим кодом... Все таки кусочек оного на просмотр не помешал бы.


leonidus   (2005-03-04 10:37:00) [3]

Проблема в том что эти ошибки вылетают у юзеров а не намомей машине, в результате адреса всегда разные и на код посмотреть не удается, на счет страниц памяти, я конечно суть понимаю, но все таки хочется более конкретных примеров приводящих к появлению таких ошибок. DLL не использую.


Юрий Зотов   (2005-03-04 10:25:00) [4]

> leonidus

В программе используются DLL?


Digitman   (2005-03-04 09:53:00) [5]

AV-исключения возникают, как следует из названия, при нарушении прав доступа кода к областям памяти в адресном пр-ве тек.процесса

скажем, страница памяти имеет атрибут прав доступа PAGE_EXECUTE (страница, содержащая исп.код), и к ней происходит попытка обращения по записи

или страница вообще не существует (выгружена и или зарезервирована для сист.целей), и к ней происходит обращение либо по чтению, либо по записи, либо происходит попытка передачи туда управления


GLFox   (2005-03-04 09:50:00) [6]

Очень часто бывало (у меня) такое, что при создании записи (record) в динамике с полями типа String при попытке присвоения ей чего-либо возникал он самый. Лечилось установкой поля сначала в nil.


Cosinus   (2005-03-04 09:49:00) [7]


> leonidus   (04.03.05 09:41)  

Access violation at addres ...А адрес то, адрес то какой? :) Вот по нему в своей программе то и смотреть .


Наверх

Титульная страница Поиск, карта сайта Написать письмо