Вниз
Скачать: 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.026 c
1-1110127325
Nes
2005-03-06 19:42
2005.03.20
Неактивное как активное =)


4-1107359335
grigory
2005-02-02 18:48
2005.03.20
Как узнать есть ли на форме панель?


1-1109074588
Mishenka
2005-02-22 15:16
2005.03.20
Пиктограммы в компоненте...


1-1109869762
grusty
2005-03-03 20:09
2005.03.20
Как на канве написать текст вертикально?


3-1108812877
Борис
2005-02-19 14:34
2005.03.20
Выбор СУБД для БД на 1 млн. записей




   Наверх