Форум: "Основная";
Текущий архив: 2003.09.08;
Скачать: [xml.tar.bz2];
ВнизОшибка Найти похожие ветки
← →
mdsns (2003-08-26 11:55) [0]Че за ошибка выпадает постоянно не подскажите? (((Project vtr.exe raised exception class EAccessViolation with message "Access violation at address 00CA4B32. Read of address FFFFFFFF". Process stopped. Use Step or Run to continue.))) Кратко объясню проблемму.. Работаю с СОМ-портом и паралельно обрабатываю получаемые сигналы, где я рисую, записываю в базы, тут же с них читаю , короче проблемма большая...Поясните что такое..!!!
← →
Skier (2003-08-26 11:57) [1]ошибка в 17-ой строке.
← →
Юрий Федоров (2003-08-26 12:03) [2]Читаешь с указателя, значение которого равно nil.
Скорее всего обращаешься к св-ву\методу несозданного объекта.
Покажи код и строку, где вылетает ошибка
← →
mdsns (2003-08-26 12:07) [3]Непонял ты про че..???
← →
mdsns (2003-08-26 12:08) [4]Непонял ты про че..???
← →
Zacho (2003-08-26 12:10) [5]Короче: скорее всего ты обращаешься к еще не созданному или уже уничтоженному объекту. Без более подробных описаний ситуации и кусков кода, в котором происходит эта ошибка ничего более конкретного сказать нельзя.
← →
mdsns (2003-08-26 12:14) [6]В программе идут два процесса постоянно в смысле паралельные не знаю откуда она...И вообще может кто подскажет где можно скачать справочник ошибок..??
← →
Андрей Сенченко (2003-08-26 12:14) [7]Юрий Федоров © (26.08.03 12:03) [2]
"Покажи код и строку, где вылетает ошибка"
Не факт, что эта строка выделится сама .. не факт. А советовать прогон пр F8 тут видимо не стоит.
← →
Zacho (2003-08-26 12:18) [8]
> mdsns (26.08.03 12:14) [6]
Какой еще справочник ошибок ? Все есть в хелпе. Вот про Access Violation:
EAccessViolation is the exception class for invalid memory access errors.
Unit
SysUtils
Description
EAccessViolation is raised when an application
Dereferences a nil pointer.
Writes to memory reserved for executable code.
Attempts to access a memory address for which there is no virtual memory allocated to the application.
Run-time exception information is saved in fields provided by EExternal.
Note: Applications should not raise EAccessViolation directly, but should instead rely on the runtime to raise this exception.
← →
Skier (2003-08-26 12:21) [9]>Zacho © (26.08.03 12:18)
Есть такой справочник.
Указываешь ему описание ошибки, а он тебе говорит где ошибка и как исправлять. :)
Называется справочник MagicStick.exe взять можно здесь www.worderland.org
← →
Zacho (2003-08-26 12:26) [10]
> Skier © (26.08.03 12:21) [9]
Не, не катит. Надо, чтоб даже указывать не надо было - чтоб само все исправляло. :)
← →
mdsns (2003-08-26 13:11) [11]А в каких случаях может выпадать такая ошибка???
Как я могу обратиться к еще не созданному или уже уничтоженному объекту??? И с указателями я не работаю...И ошибку отловить не могу, она выпадает мягко говоря не часто...И самое интересное что она может вылететь тогда когда сигнал один и тот же повторился например в десятый или в двадцатый раз..
← →
mdsns (2003-08-26 13:14) [12]А может эта ошибка выпадать при работе с базами????
Я все базы открываю при запуске программы и закрываю только при ее закрытии...
← →
Zacho (2003-08-26 13:29) [13]
> mdsns (26.08.03 13:11) [11]
> А в каких случаях может выпадать такая ошибка???
Еще раз:
Dereferences a nil pointer.
Writes to memory reserved for executable code.
Attempts to access a memory address for which there is no virtual memory allocated to the application.
> Как я могу обратиться к еще не созданному или уже уничтоженному
> объекту???
Точно так же, как и к существующему. Я серьезно.
> И с указателями я не работаю..
Вряд ли. Любая переменная объектного типа - указатель.
> А может эта ошибка выпадать при работе с базами????
Может. Точно так же, как при работе вообще с чем угодно.
Действительно, для каких-то конкретных советов/ответов просто нет информации. Думай сам, или пиши подробнее, в какой ситуации появляется ошибка.
← →
han_malign (2003-08-26 14:15) [14]>at address 00CA4B32
включаешь Project Options->Linker->Map file->Detailed
и ищешь в <project name>.map адрес близкий к $008A4B32 ($00CA4B32 минус база $00400000, иногда еще $1000 нужно отнять(Смещение Linker-а для CSEG)), определяешь по нему модуль и строку исключительной ситуации.
З.Ы. Только саму ошибку ты так не найдешь, в этой строке будет уже последствие ошибки произошедшей раньше...
← →
Calm (2003-08-26 14:25) [15]
> В программе идут два процесса постоянно в смысле паралельные
В смысле Thread"ы?
Тогда все вообще не просто. Возможно, где-то криво организована работа, например, со списком. К нему могут обращаться оба потока.
Без использования критических секций будут вот такие трудно обнаруживаемые глюки.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.09.08;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c