Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Зависание программы и проекта, на другом компьютере 
:(
    Опции темы
Keeper89
Дата 23.6.2009, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Доброго времени суток!

Работаю над проектом, D2007, дома все прекрасно - компилируется и работает. На работе же зависает (приходится ждать загрузки формы очень долго) как экзешник, так и сам проект (при открытии главной формы), либо экзешник открывается с ошибками, которых дома не было.
Зависание происходит при перерисовке ShellControls на форме (сужу потому, что они не перерисовываются до конца). Часть методов ShellControls (ShellTreeView и ShellListView) была переопределена, но даже если их убрать лучше не становится. Убрать все из события загрузки формы тоже пробовал.

Вот что выдает EventLog (может есть за что зацепится в нем, каждая строка выполнялась секунд 10):
Код

Thread Start: Thread ID: 3992. Process Containers.exe (3984)
Process Start: G:\Containers\Containers.exe. Base Address: $00400000. Process Containers.exe (3984)
Module Load: Containers.exe. Has Debug Info. Base Address: $00400000. Process Containers.exe (3984)
Module Load: ntdll.dll. No Debug Info. Base Address: $7C900000. Process Containers.exe (3984)
Module Load: KERNEL32.dll. No Debug Info. Base Address: $7C800000. Process Containers.exe (3984)
Module Load: OLEAUT32.dll. No Debug Info. Base Address: $77110000. Process Containers.exe (3984)
Module Load: ADVAPI32.dll. No Debug Info. Base Address: $77DC0000. Process Containers.exe (3984)
Module Load: RPCRT4.dll. No Debug Info. Base Address: $77E70000. Process Containers.exe (3984)
Module Load: Secur32.dll. No Debug Info. Base Address: $77FE0000. Process Containers.exe (3984)
Module Load: GDI32.dll. No Debug Info. Base Address: $77F10000. Process Containers.exe (3984)
Module Load: USER32.dll. No Debug Info. Base Address: $7E360000. Process Containers.exe (3984)
Module Load: msvcrt.dll. No Debug Info. Base Address: $77C00000. Process Containers.exe (3984)
Module Load: ole32.dll. No Debug Info. Base Address: $774D0000. Process Containers.exe (3984)
Module Load: VERSION.dll. No Debug Info. Base Address: $77BF0000. Process Containers.exe (3984)
Module Load: COMCTL32.dll. No Debug Info. Base Address: $773C0000. Process Containers.exe (3984)
Module Load: SHLWAPI.dll. No Debug Info. Base Address: $77F60000. Process Containers.exe (3984)
Module Load: IMM32.dll. No Debug Info. Base Address: $76360000. Process Containers.exe (3984)
Module Load: SHELL32.dll. No Debug Info. Base Address: $7C9C0000. Process Containers.exe (3984)
Module Load: OLEACC.dll. No Debug Info. Base Address: $74C40000. Process Containers.exe (3984)
Module Load: MSVCP60.dll. No Debug Info. Base Address: $76050000. Process Containers.exe (3984)
Module Load: WINMM.dll. No Debug Info. Base Address: $76B20000. Process Containers.exe (3984)
Module Load: UxTheme.dll. No Debug Info. Base Address: $5B260000. Process Containers.exe (3984)
Module Load: MSCTF.dll. No Debug Info. Base Address: $746E0000. Process Containers.exe (3984)
Module Load: msctfime.ime. No Debug Info. Base Address: $75310000. Process Containers.exe (3984)
Module Load: MSIMG32.dll. No Debug Info. Base Address: $76350000. Process Containers.exe (3984)
Module Load: SETUPAPI.dll. No Debug Info. Base Address: $77910000. Process Containers.exe (3984)
Module Load: appHelp.dll. No Debug Info. Base Address: $77B30000. Process Containers.exe (3984)
Module Load: CLBCatQ.DLL. No Debug Info. Base Address: $76FC0000. Process Containers.exe (3984)
Module Load: COMRes.dll. No Debug Info. Base Address: $77040000. Process Containers.exe (3984)
Module Load: CSCUI.dll. No Debug Info. Base Address: $77A10000. Process Containers.exe (3984)
Module Load: CSCDLL.dll. No Debug Info. Base Address: $765D0000. Process Containers.exe (3984)
Module Load: NETAPI32.dll. No Debug Info. Base Address: $5BD50000. Process Containers.exe (3984)
Module Load: MLANG.dll. No Debug Info. Base Address: $75DA0000. Process Containers.exe (3984)
Module Load: ntshrui.dll. No Debug Info. Base Address: $76970000. Process Containers.exe (3984)
Module Load: ATL.DLL. No Debug Info. Base Address: $76B00000. Process Containers.exe (3984)
Module Load: USERENV.dll. No Debug Info. Base Address: $769A0000. Process Containers.exe (3984)
Thread Start: Thread ID: 2020. Process Containers.exe (3984)
Module Load: IEFRAME.dll. No Debug Info. Base Address: $435F0000. Process Containers.exe (3984)
Module Load: PSAPI.DLL. No Debug Info. Base Address: $76BE0000. Process Containers.exe (3984)
Module Load: iertutil.dll. No Debug Info. Base Address: $43090000. Process Containers.exe (3984)
Thread Start: Thread ID: 4092. Process Containers.exe (3984)
Module Load: ZIPFLDR.dll. No Debug Info. Base Address: $73340000. Process Containers.exe (3984)
Thread Start: Thread ID: 3904. Process Containers.exe (3984)
Thread Start: Thread ID: 1400. Process Containers.exe (3984)
Thread Start: Thread ID: 3784. Process Containers.exe (3984)
First chance exception at $7C812AEB. Exception class EInvalidOperation with message 'Cannot focus a disabled or invisible window'. Process Containers.exe (3984)
Module Load: LINKINFO.dll. No Debug Info. Base Address: $76960000. Process Containers.exe (3984)
Thread Start: Thread ID: 3572. Process Containers.exe (3984)
Module Load: MPR.dll. No Debug Info. Base Address: $71B00000. Process Containers.exe (3984)
Module Load: drprov.dll. No Debug Info. Base Address: $75F30000. Process Containers.exe (3984)
Module Load: NTLANMAN.dll. No Debug Info. Base Address: $71BF0000. Process Containers.exe (3984)
Module Load: NETUI0.dll. No Debug Info. Base Address: $71CB0000. Process Containers.exe (3984)
Module Load: NETUI1.dll. No Debug Info. Base Address: $71C70000. Process Containers.exe (3984)
Module Load: NETRAP.dll. No Debug Info. Base Address: $71C60000. Process Containers.exe (3984)
Module Load: SAMLIB.dll. No Debug Info. Base Address: $71BD0000. Process Containers.exe (3984)
Module Load: davclnt.dll. No Debug Info. Base Address: $75F40000. Process Containers.exe (3984)
Thread Start: Thread ID: 3108. Process Containers.exe (3984)
Module Load: MSLBUI.dll. No Debug Info. Base Address: $60AF0000. Process Containers.exe (3984)
Thread Exit: Thread ID: 3572. Process Containers.exe (3984)
Thread Exit: Thread ID: 3108. Process Containers.exe (3984)
Thread Start: Thread ID: 4084. Process Containers.exe (3984)
Thread Start: Thread ID: 1704. Process Containers.exe (3984)
Thread Start: Thread ID: 2204. Process Containers.exe (3984)
Module Unload: drprov.dll. Process Containers.exe (3984)
Module Unload: NTLANMAN.dll. Process Containers.exe (3984)
Module Unload: NETUI1.dll. Process Containers.exe (3984)
Module Unload: SAMLIB.dll. Process Containers.exe (3984)
Module Unload: NETRAP.dll. Process Containers.exe (3984)
Module Unload: NETUI0.dll. Process Containers.exe (3984)
Module Unload: davclnt.dll. Process Containers.exe (3984)
Module Load: drprov.dll. No Debug Info. Base Address: $75F30000. Process Containers.exe (3984)
Module Load: NTLANMAN.dll. No Debug Info. Base Address: $71BF0000. Process Containers.exe (3984)
Module Load: NETUI0.dll. No Debug Info. Base Address: $71CB0000. Process Containers.exe (3984)
Module Load: NETUI1.dll. No Debug Info. Base Address: $71C70000. Process Containers.exe (3984)
Module Load: NETRAP.dll. No Debug Info. Base Address: $71C60000. Process Containers.exe (3984)
Module Load: SAMLIB.dll. No Debug Info. Base Address: $71BD0000. Process Containers.exe (3984)
Module Load: davclnt.dll. No Debug Info. Base Address: $75F40000. Process Containers.exe (3984)
Thread Start: Thread ID: 2856. Process Containers.exe (3984)
Thread Start: Thread ID: 1636. Process Containers.exe (3984)
Thread Start: Thread ID: 2844. Process Containers.exe (3984)
Thread Exit: Thread ID: 2204. Process Containers.exe (3984)
Thread Exit: Thread ID: 4084. Process Containers.exe (3984)
Thread Exit: Thread ID: 1704. Process Containers.exe (3984)
Thread Exit: Thread ID: 1636. Process Containers.exe (3984)
Thread Exit: Thread ID: 2856. Process Containers.exe (3984)
Thread Exit: Thread ID: 2844. Process Containers.exe (3984)
Thread Start: Thread ID: 3392. Process Containers.exe (3984)
Thread Start: Thread ID: 3520. Process Containers.exe (3984)
Thread Exit: Thread ID: 4092. Process Containers.exe (3984)
Module Unload: drprov.dll. Process Containers.exe (3984)
Module Unload: NTLANMAN.dll. Process Containers.exe (3984)
Module Unload: NETUI1.dll. Process Containers.exe (3984)
Module Unload: SAMLIB.dll. Process Containers.exe (3984)
Module Unload: NETRAP.dll. Process Containers.exe (3984)
Module Unload: NETUI0.dll. Process Containers.exe (3984)
Module Unload: davclnt.dll. Process Containers.exe (3984)
Module Load: drprov.dll. No Debug Info. Base Address: $75F30000. Process Containers.exe (3984)
Module Load: NTLANMAN.dll. No Debug Info. Base Address: $71BF0000. Process Containers.exe (3984)
Module Load: NETUI0.dll. No Debug Info. Base Address: $71CB0000. Process Containers.exe (3984)
Module Load: NETUI1.dll. No Debug Info. Base Address: $71C70000. Process Containers.exe (3984)
Module Load: NETRAP.dll. No Debug Info. Base Address: $71C60000. Process Containers.exe (3984)
Module Load: SAMLIB.dll. No Debug Info. Base Address: $71BD0000. Process Containers.exe (3984)
Module Load: davclnt.dll. No Debug Info. Base Address: $75F40000. Process Containers.exe (3984)
Thread Start: Thread ID: 632. Process Containers.exe (3984)
Thread Start: Thread ID: 3672. Process Containers.exe (3984)
Thread Exit: Thread ID: 3520. Process Containers.exe (3984)
Thread Exit: Thread ID: 3392. Process Containers.exe (3984)


Вот внутренний лог ошибок:
Код

---------------------------------------------
[ 23.06.2009 | 14:21:14 ]
Ошибка: "Access violation at address 004D26A9 in module 'Containers.exe'. Read of address 00000008"
Класс : "EAccessViolation"

---------------------------------------------
[ 23.06.2009 | 14:21:13 ]
Ошибка: "Access violation at address 004D26A9 in module 'Containers.exe'. Read of address 00000008"
Класс : "EAccessViolation"

В чем предположительно может быть проблема?

Заранее спасибо.

Это сообщение отредактировал(а) Keeper89 - 23.6.2009, 14:31


--------------------
PM MAIL WWW   Вверх
bems
Дата 23.6.2009, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



смотри что у тебя по адресу 004D26A9


--------------------
Обижено школьников: 8
PM MAIL   Вверх
CodeMonkey
Дата 23.6.2009, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 38
Всего: 89



Обращения к VCL из других потоков?
Расскажите хоть что-то про программу-то. Код можно привести. А на пустом месте гадать....  1001 причину назвать можно, только вам, что 1000, что 1001 - всё одно.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Keeper89
Дата 23.6.2009, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



CodeMonkey, программа - подобие проводника Windows с небольшими дополнениями. Основная часть реализуется связкой ShellTreeView + ShellListView, потоки не используются, только переопределение некоторых сообщений, что как я говорил не влиет если их убрать.
Цитата(bems @  23.6.2009,  18:34 Найти цитируемый пост)
смотри что у тебя по адресу 004D26A9 

Код

.text:004D26A9 loc_4D26A9:                             ; CODE XREF: sub_4D2610+8Ej
.text:004D26A9                 mov     eax, [ebx+8]
.text:004D26AC                 mov     edx, [ebp+var_8]
.text:004D26AF                 call    sub_404F74
.text:004D26B4                 jnz     short loc_4D26A0
.text:004D26B6
.text:004D26B6 loc_4D26B6:                             ; CODE XREF: sub_4D2610+6Fj



--------------------
PM MAIL WWW   Вверх
bems
Дата 23.6.2009, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



Код

 mov     eax, [ebx+8]

Цитата(Keeper89 @  23.6.2009,  14:27 Найти цитируемый пост)
Read of address 00000008"

Ну вот и  ищи, как в ebx оказываеся 0, и что там должно быть при нормальном выполнении


--------------------
Обижено школьников: 8
PM MAIL   Вверх
dumb
Дата 23.6.2009, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 13
Всего: 158



запусти на выполнение путем нажатия F7, поставь точку останова на вышеупомянутый адрес(или просто поставь строку выделения на этот адрес), потом Ctrl-V(View source), и смотри, где там у тебя нулевой указатель.
PM MAIL   Вверх
Keeper89
Дата 23.6.2009, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Цитата(dumb @  23.6.2009,  23:14 Найти цитируемый пост)
поставь точку останова на вышеупомянутый адрес(или просто поставь строку выделения на этот адрес)

Пытаюсь найти строчку 004D26A9 (Ctrl+G) - выделяется линия со знаками вопроса, ставлю брейкпоинт, но при дальнейшем выполнении в ней отладчик не останавливается.

Это сообщение отредактировал(а) Keeper89 - 23.6.2009, 23:08


--------------------
PM MAIL WWW   Вверх
dumb
Дата 23.6.2009, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 13
Всего: 158



возможно адрес того сбойного места изменился(может опции какие-нибудь поменял или еще что) - посмотри, exception по тому же адресу выбрасывает?. а в Ctrl-G разве не надо $ перед адресом ставить?
PM MAIL   Вверх
Keeper89
Дата 23.6.2009, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Цитата(dumb @  24.6.2009,  00:13 Найти цитируемый пост)
Ctrl-G разве не надо $ перед адресом ставить? 

поставил с $, все отлично но ошибок не выдает.
Еще раз повторюсь, дома все работает без эксепшнов и зависаний. Вот в чем и проблема.


--------------------
PM MAIL WWW   Вверх
kami
Дата 23.6.2009, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 23
Всего: 72



Цитата(Keeper89 @  23.6.2009,  23:06 Найти цитируемый пост)
 ставлю брейкпоинт, но при дальнейшем выполнении в ней отладчик не останавливается.

Смотри, что за паскалевская строка в этом месте (как сказал dumb, Ctrl-V на этом адресе) и уже от этого пляши дальше.

Добавлено через 1 минуту и 6 секунд
где-то там возникает ситуация, при которой идет обращение к nil вместо действительного объекта(или другого указателя).
PM MAIL WWW   Вверх
Keeper89
Дата 24.6.2009, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Нажимаю контрол+в, к участку кода не перемещается. Заметил следующее - если убрать все шелл контролы, проект зависать перестает (на работе, дома всегда все ок).


--------------------
PM MAIL WWW   Вверх
Rennigth
Дата 24.6.2009, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 49
Всего: 76



Keeper89
1. Винды разные?
2. На сколько тебе критично использовать именно ShellTreeView + ShellListView? Может можно обойтись VirtualTreeView-шкой?
3. Если критично использовать именно их, то попробуй их попользовать вообще на чистом проекте, может они в связке в другими контролами при определенных условиях не ладят...


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
CodeMonkey
Дата 24.6.2009, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 38
Всего: 89



Пробуем включить Use Debug DCUs, сделать Build и повторить остановку на исключении. Также сразу после остановки смотрим окно Call Stack.
См. также про Access Violation вообще.

Цитата(Keeper89 @  23.6.2009,  14:27 Найти цитируемый пост)
так и сам проект (при открытии главной формы), 

А вот это вот что значит?


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Keeper89
Дата 24.6.2009, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Цитата(Rennigth @  24.6.2009,  12:01 Найти цитируемый пост)
1. Винды разные?
2. На сколько тебе критично использовать именно ShellTreeView + ShellListView? Может можно обойтись VirtualTreeView-шкой?
3. Если критично использовать именно их, то попробуй их попользовать вообще на чистом проекте, может они в связке в другими контролами при определенных условиях не ладят... 

1. Нет XP, SP3 оба.
2. Не критично, главное обеспечивать "функциональность" проводника, может есть компоненты стабильнее используемых мной, но не такие громоздкие и легче для перехода (это все ИМХО конечно), чем VirtualShellTools?
3. Дома чистый проект в связке работает как и готовый проект нормально, на работе же зависает прямо в IDE.
Цитата(CodeMonkey @  24.6.2009,  13:03 Найти цитируемый пост)
А вот это вот что значит? 

IDE зависает при помещении на форму этих самых ShellControls.
Цитата(CodeMonkey @  24.6.2009,  13:03 Найти цитируемый пост)
Пробуем включить Use Debug DCUs, сделать Build и повторить остановку на исключении. Также сразу после остановки смотрим окно Call Stack.

Все выставил - все равно никаких исключений.


--------------------
PM MAIL WWW   Вверх
CodeMonkey
Дата 24.6.2009, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 38
Всего: 89



Цитата(Keeper89 @  24.6.2009,  14:01 Найти цитируемый пост)
все равно никаких исключений

??? Не понял. А в логе вашем не исключения, что-ли, пишутся?


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1179 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.