Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2016, 17:21   #1
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию Как можно отследить причину ошибки?

При работе программы, не при запуске, а после некоторого времени, скорее всего после отправки или получения данных с сервера появляется ошибка:
PHP код:
Проект program.exe вызвал исключение класса EAccessViolation с сообщением 'Access violation at address 42540В07.Read of address 42540D07'.Процесс остановлен
При этом где именно в коде это вызвало ошибку не показывается.
Можно ли конкретно найти блок вызывающую ошибку?
Illusiony вне форума Ответить с цитированием
Старый 17.04.2016, 17:35   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Запускаете программу под отладкой и смотрите. Конечно, можете посчитать адрес инструкции итак, но потом все равно прийдется копаться.
p51x вне форума Ответить с цитированием
Старый 17.04.2016, 19:29   #3
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Цитата:
Сообщение от Illusiony Посмотреть сообщение
При работе программы, не при запуске, а после некоторого времени, скорее всего после отправки или получения данных с сервера появляется ошибка:
PHP код:
Проект program.exe вызвал исключение класса EAccessViolation с сообщением 'Access violation at address 42540В07.Read of address 42540D07'.Процесс остановлен
При этом где именно в коде это вызвало ошибку не показывается.
Можно ли конкретно найти блок вызывающую ошибку?
Ошибка чтения занятого другим потоком данных. Скорее всего сработала при чтение какого-либо визуального(или не визуального) компонента в потоке. Если это так, то операции с визуальными компонентами просто выполните в синхронизации.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 17.04.2016, 19:38   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Access violation at address 42540В07.Read of address 42540D07
Нарушение Доступа К адресу.... Такая ошибка не редкость. Может обозначать, что функция не правильно задекларирована. Или в ней переменные задекларированы не правильно. Конкретно, проблемный участок в студию, а там будем посмотреть.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 18.04.2016, 10:05   #5
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
Access violation at address 42540В07.Read of address 42540D07
Нарушение Доступа К адресу.... Такая ошибка не редкость. Может обозначать, что функция не правильно задекларирована. Или в ней переменные задекларированы не правильно. Конкретно, проблемный участок в студию, а там будем посмотреть.
Проблемный участок? А ещё глубже можно это было описать? ТС не ученый, он лишь любитель. Что тут гадать на кофейной гуще: Лучше уж сразу весь код! Наверняка там потоки. которые обращаются к визуальному компоненту без синхронизации.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 18.04.2016, 10:51   #6
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Цитата:
Сообщение от саша40 Посмотреть сообщение
Проблемный участок? А ещё глубже можно это было описать? ТС не ученый, он лишь любитель. Что тут гадать на кофейной гуще: Лучше уж сразу весь код! Наверняка там потоки. которые обращаются к визуальному компоненту без синхронизации.
Да, все мы - любители. Да хрен его знает, что там у него. Я не компилятор. Я ведь попросил, код в студию. Может на коленках вымаливать? Иногда, просто по-диагонали глянешь, а ошибка прямо на поверхности. А вот у меня сейчас - засада. Но если сам не справлюсь, помощи попрошу. Моск, конкретно кипит .
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 18.04.2016, 13:21   #7
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
Да, все мы - любители. Да хрен его знает, что там у него. Я не компилятор. Я ведь попросил, код в студию. Может на коленках вымаливать? Иногда, просто по-диагонали глянешь, а ошибка прямо на поверхности. А вот у меня сейчас - засада. Но если сам не справлюсь, помощи попрошу. Моск, конкретно кипит .
Прости. Может немного перегнул.
По сути автору надо только пропустить проект через Debug и компилятор сам покажет строку, где произошло исключение.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 20.04.2016, 22:45   #8
Turbine
Пользователь
 
Регистрация: 13.08.2008
Сообщений: 76
По умолчанию

Если процедура и функция сложные, то
Код:
try ... except showmessage('') end;
либо построчно, либо по прораммным скобкам
находится обычно быстрее, если в showmessage показывать значения переменных
Turbine вне форума Ответить с цитированием
Старый 21.04.2016, 01:26   #9
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Имхо в данном топике не помешает ссылка на классику
Обработка ошибок
И Access Violation в деталях
Ибо далеко не всегда отладчик покажет место ошибки. Поможет найти место - это да. Но подскажет не всегда.
northener вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу найти причину ошибки pastuhdima Помощь студентам 0 06.10.2011 00:24
Не понимаю причину ошибки( DreamMan Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 05.05.2011 17:05
Как можно отследить действие на сайте? aerggrea JavaScript, Ajax 6 22.04.2011 21:10
не вижу причину ошибки k8ghost Помощь студентам 5 15.06.2008 15:04
помогите найти причину ошибки! НиКС БД в Delphi 3 10.05.2007 15:55