Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отладка загрузки модулей - initialization..finalization


Страницы:   1 2

Eraser ©   (2010-09-01 23:14:00) 

Такая проблема. При запуске приложения под Wine возникает "Runtime error 255 at 7BC3ED78". Ошибка происходит до первой строчки кода в dpr файле, соответственно она где-то в загрузке модулей. Каким-то образом это связано с COM. С наскока выяснить не удалось, при ближайшем рассмотрении тоже безрезультатно. Логи wine ничего внятного не говорят.

Подскажите, как грамотно отладить секции инициализации юнитов, в т.ч. генофондовских?


Плохиш   (2010-09-04 12:03:00) [1]


> Германн ©   (04.09.10 02:46) [24]

Описание я понял так, что если чего-то там не так и не понятно случилось, то вываливается системная ошибка 255 и разбирайтесь сами что не так ;-)


Eraser   (2010-09-04 02:53:00) [2]

> а wine чего-то там не до инициализирует

так оно и есть.
но все равно пока внедрение wine откладывается на неопределенный срок, cryptoapi пока там отказывается работать в той реализации что есть.


Германн   (2010-09-04 02:46:00) [3]


> я в [11] ссылку давал на описание ошибки

Что-то мне кажется (крестился и не раз), что это описание весьма старое. А Eraser, по своему роду работ, всегда использует последние версии Дельфи и сравнительно современные компьютеры.
Если столь древнее описание (для Д3 и S3) годится и сейчас, то просто нет слов.


Плохиш   (2010-09-04 02:15:00) [4]


> Германн ©   (04.09.10 02:11) [22]

> Что-то как-то не верится, что Eraser © "влез не спросясь"
> в область драйверов на оборудование.

Это не он, а wine чего-то там не до инициализирует, я в [11] ссылку давал на описание ошибки.


Германн   (2010-09-04 02:11:00) [5]


> Плохиш ©   (04.09.10 01:57) [21]
>
>
> > Eraser ©   (03.09.10 20:43) [20]
> >
> > > [15] Плохиш ©   (03.09.10 12:01)
> >
> > так меня удивляет тот момент, что в win никаких сообщений
> > о крахе или исключениях не было
>
> Так в win, выходит, что никакого исключения и не было. Там
> с драйверами на оборудование всё в порядке.
>

Что-то как-то не верится, что Eraser © "влез не спросясь" в область драйверов на оборудование.


Плохиш   (2010-09-04 01:57:00) [6]


> Eraser ©   (03.09.10 20:43) [20]
>
> > [15] Плохиш ©   (03.09.10 12:01)
>
> так меня удивляет тот момент, что в win никаких сообщений
> о крахе или исключениях не было

Так в win, выходит, что никакого исключения и не было. Там с драйверами на оборудование всё в порядке.


Eraser   (2010-09-03 20:43:00) [7]

> [15] Плохиш ©   (03.09.10 12:01)

так меня удивляет тот момент, что в win никаких сообщений о крахе или исключениях не было ;-)


Игорь Шевченко   (2010-09-03 20:40:00) [8]


> Порой длинные indirect обращения


Result := TApplicationConfigurationManager.GetInstance.ExceptionManager  

глаза сломаешь, пока такое прочтешь


Eraser   (2010-09-03 20:37:00) [9]

Для синглтонов в принципе можно использовать глобальные переменные, хотя в последних версиях языка появилась возможность обойтись без этого.


oxffff   (2010-09-03 20:21:00) [10]


> Это девиз :)
>
> Глобальная переменная д.б. одна - Application,
> а все остальное - в его полях/свойствах.


Порой длинные indirect обращения или протаскание дополнительных параметров в методы может плохо ударить по производительности.

Поэтому во всем должна быть мера. IMHO


Leonid Troyanovsky   (2010-09-03 16:41:00) [11]


> oxffff ©   (03.09.10 09:31) [13]

> Где можно ознакомится с этой аксиомой?

Это девиз :)

Глобальная переменная д.б. одна - Application,
а все остальное - в его полях/свойствах.

--
Regards, LVT.


Плохиш   (2010-09-03 12:01:00) [12]


> Eraser ©   (03.09.10 02:21) [12]
>
> в том то и дело, что обработанное.

И кто ж его обработал?
try..finally - это не обработка исключения, читай описание.


Игорь Шевченко   (2010-09-03 10:13:00) [13]


> Казалось бы, что это задача компилятора.


компилятор формирует сегмент .bss, под windows он обнуляется при загрузке


oxffff   (2010-09-03 09:31:00) [14]


> Leonid Troyanovsky ©   (02.09.10 22:38) [9]
>
> Хотя, конечно, глобальные переменные - MD.


Где можно ознакомится с этой аксиомой?


Eraser   (2010-09-03 02:21:00) [15]

в том то и дело, что обработанное. сбило с толку то, что в windows, в т.ч. под отладчиком все OK.


Плохиш   (2010-09-03 00:28:00) [16]


> Eraser ©   (02.09.10 23:05) [10]
>
> > [8] Игорь Шевченко ©   (02.09.10 18:08)
>
> там в другом была основная проблема - при загрузке в одной
> их секций inialization возникало исключение, хотя оно и
> было обернутов try..finally в Wine приводило к краху приложения

Ничего удивительного, необработанное исключение.

http://www.esanu.name/delphi/IDE/Runtime%20Error%20255.html


Eraser   (2010-09-02 23:05:00) [17]

> [8] Игорь Шевченко ©   (02.09.10 18:08)

там в другом была основная проблема - при загрузке в одной их секций inialization возникало исключение, хотя оно и было обернутов try..finally в Wine приводило к краху приложения, описанном в 1 сообщении.
но, далее столкнулся с тем, что cryptoapi под Wine находиться еще в не рабочем состоянии, увы.


Leonid Troyanovsky   (2010-09-02 22:38:00) [18]


> Игорь Шевченко ©   (02.09.10 18:08) [8]

> под Wine не инициализируются глобальные переменные нулями

Казалось бы, что это задача компилятора.
Хотя, конечно, глобальные переменные - MD.

--
Regards, LVT.


Игорь Шевченко   (2010-09-02 18:08:00) [19]


> При запуске приложения под Wine возникает


под Wine не инициализируются глобальные переменные нулями


Eraser   (2010-09-02 04:42:00) [20]

> [6] Германн ©   (02.09.10 03:50)

Да внедрять её в проект я и не собираюсь, там не та специфика, эврика не пойдет, а вот решить сабжевую проблему помогла. Для тестирования самое оно.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо