D7 + MDI + WinXP: приложение внезапно закрывается

Dimkas
Дата: 30.11.2007 08:00:45
Здравствуйте!

Сложилась странная ситуация. Есть MDI-приложение написанное на Delphi 7, запускаемое под Windows XP. В целом работает десяток пользователей.
Так вот у некоторых пользователей иногда приложение внезапно закрывается.
Выглядит это так: пользователь вводит число в TCurrencyEdit или отмечает CheckBox на TVirtualStringTree и через секунду приложения нет ни на экране, ни в памяти.

Есть подозрение, что в этот момент происходит формирование окна с Hint'ом и именно это окно и убивает всю программу.

Раньше такое явление было массовым и почти вылечилось отменой в свойствах рабочего стола эффектов постепенного "всплывания" для подсказок, а вот сейчас опять проявляется (хорошо что редко) даже на тех машинах где эффект "всплывания" отключен.

Кто-нибудь сталкивался с таким глюком?

с уважением,
Дмитрий Жучков
RENaissance
Дата: 30.11.2007 08:22:52
Есть подозрение, что у Вас происходит переполнение стека. Дебагер в руки и искать причину.

Posted via ActualForum NNTP Server 1.4

Dimkas
Дата: 30.11.2007 08:33:34
RENaissance
Есть подозрение, что у Вас происходит переполнение стека. Дебагер в руки и искать причину

если бы это явление было постоянным, то конечно... а когда оно возникает пару раз в день на паре машин из десятка, то непонятно что отлаживать :(

кстати надо сказать, что на моей машине такого эффекта ни разу не было
Anatoly Podgoretsky
Дата: 30.11.2007 08:49:51

Посмотри в коде.


Posted via ActualForum NNTP Server 1.4

Dimkas
Дата: 30.11.2007 09:30:51
Anatoly Podgoretsky
Еще один аноним.

анонимом был не я, но в чем то с ним согласен...
действиельно, Анатолий, если у Вас богатый жизненный опыт (в чем я не сомневаюсь),
Вы не могли бы сказать что может являяться причиной мгновенного исчезновения программы из памяти без каких либо сообщений об ошибке?

уже прозвучала версия - переполнение стека, т.е. зацикливание каких-то вызовов - уже проверяем.

что-то ещё может быть?
RENaissance
Дата: 30.11.2007 09:31:20
!

Anatoly Podgoretsky

Еще один аноним.

А member'у Dimkas Вы сильно помогли

Вы тоже сильно помогли. Просто пипец, как помогли.

З.Ы Автор, как вариант, смотрите в сторону профайлеров, встраиваемых в приложение. Например, FastMM, EurekaLog и т.д.

Posted via ActualForum NNTP Server 1.4

Dimitry Sibiryakov
Дата: 30.11.2007 09:41:05

Dimkas
что-то ещё может быть?

Краш, сопровождаемый записью ругательств в Events Log. Или вызов Halt.

Posted via ActualForum NNTP Server 1.4

Dimkas
Дата: 30.11.2007 09:44:07
RENaissance
Автор, как вариант, смотрите в сторону профайлеров, встраиваемых в приложение. Например, FastMM, EurekaLog и т.д.

FastMM в проекте используется, непонятно только как воспроизвести ошибку в тестовых условиях :)
а ставить логирование и заставлять пользователей отправлять dump-файл - трудно будет объяснить что я от них хочу :)
Anatoly Podgoretsky
Дата: 30.11.2007 09:45:39
Dimkas
Anatoly Podgoretsky
Еще один аноним.

анонимом был не я, но в чем то с ним согласен...
действиельно, Анатолий, если у Вас богатый жизненный опыт (в чем я не сомневаюсь),
Вы не могли бы сказать что может являяться причиной мгновенного исчезновения программы из памяти без каких либо сообщений об ошибке?

уже прозвучала версия - переполнение стека, т.е. зацикливание каких-то вызовов - уже проверяем.

что-то ещё может быть?

Я тебе уже сказал, ищи в коде, у нас твоего кода нет, а причин множество.
Dimkas
Дата: 30.11.2007 09:46:59
Dimitry Sibiryakov

Краш, сопровождаемый записью ругательств в Events Log. Или вызов Halt.

в Events Log заглянуть сейчас нельзя, при случае гляну.
Halt'ов в моей части программы нет, в сторонних компонентах - недеюсь тоже.