-
Мастера, подскажите. Программа долго и успешно работает на многих компах. Но на одном стоит Win 7 , на нём тоже всё работало ок. В один прекрасный день на этой машине произошёл какой-то сбой и она вырубилась. После перезагрузки программа сразу при запуске стала вываливаться на "Exception EAccessViolation in..." дальше стандартное сообщение с адресами. Ничего не помогало. В инете накопал и сделал следующее : в опциях проекта отключил "Optimization" - файл проекта увеличился, НО !!! ВСЕ ЗАРАБОТАЛО !
Что это значит, чем чревато (кроме размеров) и , если можно, то как побороть? Описал вроде подробно, именно ничего не менял - сначала работало - сбой системы - и капут...
-
Ошибку в программе исправлять надо.
-
надо найти хотя бы где в исходнике, для начала
-
Так найти не могу. Все опции дебагера включены, прога "под дебагером" раз миллион уже прогонялась, даже "не пукнула" - все работает как надо. На компах даже не выгружаясь месяцами гоняется - все ок. Трабла вылезла на одном единственном компе после сбоя оного - не по вине проги, ибо она не была запущена в тот момент...
-
>[ВладОшин] Ну, исходник весь выложить анреал - ооочень многа кода. Проблему я описал и решение - интересное?, может кто в курсе что может быть, куда смотреть, и при чём здесь оптимизатор - что он такое творит? И почему раньше (до сбоя системы) всё было ок???
-
> VikOss © (14.11.13 13:27) [3] > > Так найти не могу
По адресу из стандартного сообщения искал?
-
> при чём здесь оптимизатор - что он такое творит?
Ни при чем.
> И почему раньше (до сбоя системы) всё было ок?
Это только казалось что ок. Отсутствие сообщения об AV не значит что ошибки нет.
-
>Германн © >Это только казалось что ок. Отсутствие сообщения об AV не значит что ошибки >нет. Об этом я в курсе, но как же это : http://qc.embarcadero.com/wc/qcmain.aspx?d=83354>По адресу из стандартного сообщения искал? Вот здесь в двух словах подскажите, ибо ошибка только на компе пользователя, у меня её нет.
-
>> при чём здесь оптимизатор - что он такое творит? теоретически может быть if (A) or (1/0) then когда посчитается A, которое будет тру, считать 1/0 смысла не будет. И программа пропустит. А когда заказать полное вычисление - будет Exception.
Что-то на вроде и вас, вероятно, происходит.
А куда смотреть.. Для начала логировать все что происходит. потом поставить эксперт какой-нибудь. У джедаев бесплатный есть, Эврика от Алексеева - триальная, вроде, есть. мадэксепт опять же Смотреть, что они скажут.
-
> [ВладОшин] © (14.11.13 14:32) [8] > > >> при чём здесь оптимизатор - что он такое творит? > теоретически может быть > if (A) or (1/0) then > когда посчитается A, которое будет тру, считать 1/0 смысла > не будет. > И программа пропустит. > А когда заказать полное вычисление - будет Exception.
А при чем тут оптимизатор? К опции компилятора {$B он никакого отношения не имеет.
-
> Вот здесь в двух словах подскажите
Под отладчиком Меню Search - Goto address.
-
> Германн © (14.11.13 14:48) [9]
> А при чем тут оптимизатор?
тут - ни при чем я говорил, что > Что-то на вроде
-
>[ВладОшин]
Дело до выполнения какого-либо вычисления и прочего кода даже не доходит - всё происходит при создании объектов - там ничего крамольного - все конструкторы стандартные и в них практически нет моего кода, кроме обычных "юзерских" очисток элементов ввода - типа Edit1:='' ;-)
Подскажите эксперта какого хорошего не сложного ?
-
>Германн © (14.11.13 14:50) [10]
> Вот здесь в двух словах подскажите
>Под отладчиком >Меню Search - Goto address.
Извините, не могу найти :-((( Delphi 7, если что.
-
Нашел, разбираюсь...
-
Удалено модератором
|