Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.02.05;
Скачать: CL | DM;

Вниз

Отладка загрузки модулей - initialization..finalization   Найти похожие ветки 

 
Eraser ©   (2010-09-01 23:14) [0]

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

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


 
Джо ©   (2010-09-02 02:18) [1]

Use debug dcu не помогает? Не могу сейчас проверить.


 
Eraser ©   (2010-09-02 03:09) [2]

Бесполезно, никакой доп. информации не отображается. Беда в том, что под Wine я не могу запустить программу из IDE.


 
Германн ©   (2010-09-02 03:14) [3]


> Eraser ©   (02.09.10 03:09) [2]
>
> Бесполезно,

Посоветовал бы Эврику, но там тоже сейчас проблемы с суппортом.


 
Eraser ©   (2010-09-02 03:26) [4]

> [3] Германн ©   (02.09.10 03:14)

я обычно использую бесплатный JCL, пробовал его проинициализировать как можно раньше в initialize одного из модулей, но все равно не удается раньше, чем получаю ошибку. скачиваю эврику, посмотрим.


 
Eraser ©   (2010-09-02 03:43) [5]

> [3] Германн ©   (02.09.10 03:14)

Спасибо! Похоже то что нужно, исключения начали перехватываться, получил стек.


 
Германн ©   (2010-09-02 03:50) [6]


> Eraser ©   (02.09.10 03:26) [4]
>
> > [3] Германн ©   (02.09.10 03:14)
>
> я обычно использую бесплатный JCL, пробовал его проинициализировать
> как можно раньше в initialize одного из модулей, но все
> равно не удается раньше, чем получаю ошибку. скачиваю эврику,
>  посмотрим.
>

На эврику сейчас не стоит возлагать большие надежды. Она мне позавчера выдала Internal Error. Я попытался отправить в в техподдержку эту ошибку, но не смог. АА сказал в привате, что у них проблемы с почтой.
Но у тебя другое. Может поможет.


 
Eraser ©   (2010-09-02 04:42) [7]

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

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


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


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


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


 
Leonid Troyanovsky ©   (2010-09-02 22:38) [9]


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

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

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

--
Regards, LVT.


 
Eraser ©   (2010-09-02 23:05) [10]

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

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


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


> 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-03 02:21) [12]

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


 
oxffff ©   (2010-09-03 09:31) [13]


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


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


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


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


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


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


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

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


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


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

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

Это девиз :)

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

--
Regards, LVT.


 
oxffff ©   (2010-09-03 20:21) [17]


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


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

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


 
Eraser ©   (2010-09-03 20:37) [18]

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


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


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


Result := TApplicationConfigurationManager.GetInstance.ExceptionManager  

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


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

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

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


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


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

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


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


> Плохиш ©   (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 02:15) [23]


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

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

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


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


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

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


 
Eraser ©   (2010-09-04 02:53) [25]

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

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


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


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

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



Страницы: 1 вся ветка

Текущий архив: 2012.02.05;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.008 c
4-1253690134
Tooreagen
2009-09-23 11:15
2012.02.05
Передать текст с помощью сообщений в другую программу (Delphi)


15-1317533220
brother
2011-10-02 09:27
2012.02.05
Менеджер - экономическая игра


3-1271355569
istok
2010-04-15 22:19
2012.02.05
D2010 и кодировка в Firebird...


15-1318883405
Юрий
2011-10-18 00:30
2012.02.05
С днем рождения ! 18 октября 2011 вторник


2-1319714974
Очень Злой
2011-10-27 15:29
2012.02.05
Можно ли описать запись неизвестного заранее размера