![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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 ...А адрес то, адрес то какой? :) Вот по нему в своей программе то и смотреть .