Вниз
Скачать: 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-1109739583
begin...end
2005-03-02 07:59
2005.03.20
С Днём рождения! 2 марта


1-1109952072
webpauk
2005-03-04 19:01
2005.03.20
Указатели


1-1110022457
Goga
2005-03-05 14:34
2005.03.20
Отправка сообщения


4-1107521888
Alxxla
2005-02-04 15:58
2005.03.20
проблема с WMPAINT в стандартном TEDIT


4-1107995867
FAQ
2005-02-10 03:37
2005.03.20
Как можно из Дельфи узнать скорости вращения вентиляторов ?




   Наверх