Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "Основная";
Текущий архив: 2005.03.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.049 c
1-1109775545
Гость
2005-03-02 17:59
2005.03.20
Как отобразить (в ПрогрессБаре, напр.) процесс копирования файла?


3-1108843434
Сергей Ю.
2005-02-19 23:03
2005.03.20
Распространение приложения связанного с БД


6-1105461796
ROMBLLER
2005-01-11 19:43
2005.03.20
как очистить кеш определённой страници в TWebBrowser


1-1109768050
hgd
2005-03-02 15:54
2005.03.20
Подскажите как удалить ветвь реестра


3-1108713884
Sour
2005-02-18 11:04
2005.03.20
В триггере узнать какие поля обновились





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский