Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.02.2010, 22:30
novashdima novashdima вне форума
Новичок
 
Регистрация: 05.02.2010
Адрес: Украина, Киев
Сообщения: 64
Версия Delphi: XE3, XE4
Репутация: 10
Восклицание Очень странное AV!

Итак,при запуске программы вылезает AV по адресу 00000000
если нажать break,то открывается CPU на модуле ntdll
ntdll.kernel32.RaiseException + 0x52
раньше вылезали AV с нормальными адресами,но там я ссылался на несозданные еще объекты,я переписал FormCreate на всех формах,но появилось вот это странное AV.После этого я запустил программу в режиме трассировки,первые две формы создались отлично,но 3 не захотела - компилятор выдал ошибку в project.dpr подчеркнув создание этой формы.если потом нажать продолжить то открывается CPU в котором идут адреса начиная от 00000000 и так очень много и все они имеют команды ?????.
Никаких экстраординарных команд не использую,проверил все причины возникновения AV и ничего не нашел.Я даже создал на главной форме,которая запускается первой TApplicationEvent и в нем при ошибках E:=nil; НО и это не помогает,ПОМОГИТЕ ПОЖАЛУЙСТА,СКОРО НАДО ПРОГРАММУ ПРЕДСТАВЛЯТЬ,А ОНА ДАЖЕ НЕ ЗАПУСКАЕТСЯ!!!
Извините,если переборщил с выделением...
Ответить с цитированием
  #2  
Старый 05.02.2010, 22:32
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Было такое при многоцветной иконке (TrueColor), но там программа все-таки дальше шла...

Какая винда, какая дельфя?
Ответить с цитированием
  #3  
Старый 05.02.2010, 22:34
novashdima novashdima вне форума
Новичок
 
Регистрация: 05.02.2010
Адрес: Украина, Киев
Сообщения: 64
Версия Delphi: XE3, XE4
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Было такое при многоцветной иконке (TrueColor), но там программа все-таки дальше шла...

Какая винда, какая дельфя?
Widows XP SP 3,CodeGear Rad Studio 2009
Ответить с цитированием
  #4  
Старый 05.02.2010, 23:22
Аватар для s0Creator
s0Creator s0Creator вне форума
Местный
 
Регистрация: 20.02.2008
Адрес: Московская область
Сообщения: 420
Репутация: 884
По умолчанию

Цитата:
но 3 не захотела - компилятор выдал ошибку в project.dpr подчеркнув создание этой формы.если потом нажать продолжить то открывается
Ставите прерывание на создании формы 3 - жмете F8 - на чем вывалилось - точку останова туда и F7.

После AV частенько показывает не там где произошло, а после и вверх по стеку.

Надо постепенно заходить глубже пошагово ( F7, F8 )
Ответить с цитированием
  #5  
Старый 05.02.2010, 23:31
novashdima novashdima вне форума
Новичок
 
Регистрация: 05.02.2010
Адрес: Украина, Киев
Сообщения: 64
Версия Delphi: XE3, XE4
Репутация: 10
По умолчанию

Цитата:
Сообщение от s0Creator
Ставите прерывание на создании формы 3 - жмете F8 - на чем вывалилось - точку останова туда и F7.

После AV частенько показывает не там где произошло, а после и вверх по стеку.

Надо постепенно заходить глубже пошагово ( F7, F8 )
если бы все было так просто,дело в том,что когда я запускаю с F5,то ошибка все равно выскакивает,а в project.dpr выдает ошибку,только если запускать прогу через F7,если запускать через F9,то там ошибку он не показывает,а просто выдает ошибку
Ответить с цитированием
  #6  
Старый 06.02.2010, 00:35
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Извини, а что ты там в FormCreate понаписал?
Ответить с цитированием
  #7  
Старый 06.02.2010, 01:05
Аватар для s0Creator
s0Creator s0Creator вне форума
Местный
 
Регистрация: 20.02.2008
Адрес: Московская область
Сообщения: 420
Репутация: 884
По умолчанию

Цитата:
Сообщение от novashdima
если бы все было так просто,дело в том,что когда я запускаю с F5,то ошибка все равно выскакивает,а в project.dpr выдает ошибку,только если запускать прогу через F7,если запускать через F9,то там ошибку он не показывает,а просто выдает ошибку
А кто сказал просто?
F5 - это поставить прерывание на строку в редакторе кода. Если по F9 ( запуск в отладчике ) ошибка вышла раньше точки прерывания, надо поставить прерывание раньше или жать F8 (выполнить пошагово не заходя в процедуры ). Каждый раз выделяется строка которая будет исполнена на следующем шаге. Если на следующем шаге ошибка - ставим в этой строчке прерывание ( или после перезапуска опять жмем F8 до этой строчки ), затем вместо F8 жмем F7 ( пошагово с заходом в процедуры ) и попадаем уже во вложенную процедуру ( возможно не в создание не 3 формы а второй ). Там все повторяем с F8 - находим строчку в этой процедуре ( методе ) и так пока не дойдем до конкретной строчки. Обычно максимум 30 мин и дальше углубляться некуда - остается только посмотреть значения задействованных переменных ( полей ).
Второй вариант - выложить код - посмотрим где и что.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:07.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter