Вниз
Скачать: CL | DM;

Access violation at addres - случаи возникновения   Найти похожие ветки 

 
leonidus   (2005-03-04 09:41) [0]

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


 
Cosinus ©   (2005-03-04 09:49) [1]


> leonidus   (04.03.05 09:41)  

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


 
GLFox ©   (2005-03-04 09:50) [2]

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


 
Digitman ©   (2005-03-04 09:53) [3]

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

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

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


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

> leonidus

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


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

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


 
GLFox ©   (2005-03-04 10:44) [6]

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

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


 
Oleg_   (2005-03-04 11:04) [7]

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

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



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
14-1108543241
WondeRu
2005-02-16 11:40
2005.03.20
Все статьи DelphiWorld в 20Мб!!! Качать!!!


4-1107717795
GuAV
2005-02-06 22:23
2005.03.20
LoadLibrary => DllEntryPoint( .. DLL_PROCESS_ATTACH .. )


6-1106247683
Kyrt
2005-01-20 22:01
2005.03.20
Автоматическое заполнение


1-1110028625
Mars
2005-03-05 16:17
2005.03.20
Странное поведение панелей


1-1109835699
salexn
2005-03-03 10:41
2005.03.20
Совместимость Clipboard и русских букв




   Наверх