|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Очень странное AV!
Итак,при запуске программы вылезает AV по адресу 00000000
если нажать break,то открывается CPU на модуле ntdll ntdll.kernel32.RaiseException + 0x52 раньше вылезали AV с нормальными адресами,но там я ссылался на несозданные еще объекты,я переписал FormCreate на всех формах,но появилось вот это странное AV.После этого я запустил программу в режиме трассировки,первые две формы создались отлично,но 3 не захотела - компилятор выдал ошибку в project.dpr подчеркнув создание этой формы.если потом нажать продолжить то открывается CPU в котором идут адреса начиная от 00000000 и так очень много и все они имеют команды ?????. Никаких экстраординарных команд не использую,проверил все причины возникновения AV и ничего не нашел.Я даже создал на главной форме,которая запускается первой TApplicationEvent и в нем при ошибках E:=nil; НО и это не помогает,ПОМОГИТЕ ПОЖАЛУЙСТА,СКОРО НАДО ПРОГРАММУ ПРЕДСТАВЛЯТЬ,А ОНА ДАЖЕ НЕ ЗАПУСКАЕТСЯ!!! Извините,если переборщил с выделением... |
#2
|
|||
|
|||
Было такое при многоцветной иконке (TrueColor), но там программа все-таки дальше шла...
Какая винда, какая дельфя? |
#3
|
|||
|
|||
Цитата:
|
#4
|
||||
|
||||
Цитата:
После AV частенько показывает не там где произошло, а после и вверх по стеку. Надо постепенно заходить глубже пошагово ( F7, F8 ) |
#5
|
|||
|
|||
Цитата:
|
#6
|
|||
|
|||
Извини, а что ты там в FormCreate понаписал?
|
#7
|
||||
|
||||
Цитата:
F5 - это поставить прерывание на строку в редакторе кода. Если по F9 ( запуск в отладчике ) ошибка вышла раньше точки прерывания, надо поставить прерывание раньше или жать F8 (выполнить пошагово не заходя в процедуры ). Каждый раз выделяется строка которая будет исполнена на следующем шаге. Если на следующем шаге ошибка - ставим в этой строчке прерывание ( или после перезапуска опять жмем F8 до этой строчки ), затем вместо F8 жмем F7 ( пошагово с заходом в процедуры ) и попадаем уже во вложенную процедуру ( возможно не в создание не 3 формы а второй ). Там все повторяем с F8 - находим строчку в этой процедуре ( методе ) и так пока не дойдем до конкретной строчки. Обычно максимум 30 мин и дальше углубляться некуда - остается только посмотреть значения задействованных переменных ( полей ). Второй вариант - выложить код - посмотрим где и что. |