|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
Здравствуйте. Подскажите при закрытии приложения выскакивает сообщение об ошибке: авторFirst chance exception at $0068FE83. Exception class $C0000005 with message 'access violation at 0x0068fe83: read of address 0x00000038' Скажу сразу что искал в нете информацию об данном модуле и ошибке но ничего толком не нашел. Помогите разобраться в чем проблема... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2021, 13:05 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
STestS, у меня было похожее когда сам создавал параметры для вызова Connection.Execute, как то он с ними не корректно работает, пришлось отказаться и перейти на Query.Execute ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2021, 13:14 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
STestS Скажу сразу что искал в нете информацию об данном модуле и ошибке но ничего толком не нашел. Помогите разобраться в чем проблема... Каком модуле? Без отладчика и/или исходного кода можно только гадать. Если я скажу, что это использование объекта после его уничтожения, это поможет? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2021, 13:19 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
STestS0x0068fe83 Ну так смотрите в отладчике Call Stack. И какой именно указатель тут nil. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2021, 13:31 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Ну так смотрите в отладчике Call Stack. И какой именно указатель тут nil. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2021, 13:40 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
"смотрите" и "покажите" это два разных слова. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2021, 14:06 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov "смотрите" и "покажите" это два разных слова. Абсолютно с вами согласен! Я хочу сам разобраться. Значит мне двигаться в данном направлении? Код: pascal 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2021, 14:23 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
[quot x1ca4064#22385827] STestS Без отладчика и/или исходного кода можно только гадать. Если я скажу, что это использование объекта после его уничтожения, это поможет? Думаю поможет, главное знать что "ускользнуло" раньше времени)) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2021, 14:37 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
STestSДумаю поможет, главное знать что "ускользнуло" раньше времени)) В тексте ошибки всё написано. "read of address 0x00000038" это типичное обращение к полю объекта у которого адрес nil. Это либо self, либо переменная. Так трудно догадаться посмотреть в отладчике значения?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2021, 14:44 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
Похоже на ошибку типа use after free. Помимо очевидного варианта, возможно, что она возникает из-за смешения ручного (TObject) и автоматического (IInterface) управления временем жизни. Также есть небольшая ненулевая вероятность ошибки межпоточной синхронизации. Это может быть баг в самой библиотеке, либо же в способе её использования (читай: твоём коде). Надо смотреть, что в FParam2 должно быть штатно и где "по плану" оно должно убиваться. Как определили - смотреть, почему убивание происходит раньше его использования. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2021, 15:05 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
GunSmokerПохоже на ошибку типа use after free. При этом переменные обычно не обнуляются и читаемый адрес находится в куче, а не в районе нуля как мы видим в стартовом сообщении. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2021, 15:23 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
FParam2 может быть полем объекта или приходить из него. После удаления объекта это значение может быть любым. В том числе nil. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2021, 17:13 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
Подспудный вопрос. А нельзя ли при закрытии приложения просто все бросить, и ничего не чистить? По идее, память будет освобождена и так. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 07:48 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
Virtual Student Подспудный вопрос. А нельзя ли при закрытии приложения просто все бросить, и ничего не чистить? Можно, конечно, но это плохой стиль, подходящий только для "одноразовых" программ. Ресурсы ОС себе вернет, а вот всякие открытые транзакции и пр. - только самому, что требует от программиста контроля того, что он создает и уничтожает. Программу, которая не чистит за собой, будет тяжело расширять, т.к. просто взять готовый код и заставить его работать в несколько потоков, например, уже будет тяжко. Да и данные могут потеряться. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 08:26 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
Virtual Student Подспудный вопрос. А нельзя ли при закрытии приложения просто все бросить, и ничего не чистить? По идее, память будет освобождена и так. Если так сделать, то не удастся отлавливать утечки памяти и ряд других ошибок. А если их не отлавливать - они начнут накапливаться и довольно скоро своей массой похоронят приложение. Поэтому целесообразно чистить сразу же, а не разгребать потом. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 09:28 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
Virtual Student Поэтому целесообразно чистить сразу же, а не разгребать потом. Я-то так и делаю, это был чисто теоретический вопрос к Гуру. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 09:45 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
x1ca4064 Ресурсы ОС себе вернет, а вот всякие открытые транзакции и пр. - только самому ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 11:29 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
Мимопроходящий о каких именно транзакциях речь? Т.к. обсуждаем сферическую программу в вакууме - о любых ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 11:59 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
x1ca4064 Мимопроходящий о каких именно транзакциях речь? Т.к. обсуждаем сферическую программу в вакууме - о любых ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 14:28 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
Мимопроходящий x1ca4064 пропущено... Т.к. обсуждаем сферическую программу в вакууме - о любых На какой ответ Вы расчитывали? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 15:10 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
x1ca4064 Мимопроходящий пропущено... пустые слова. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 15:14 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
Мимопроходящий x1ca4064 пропущено... На какой ответ Вы расчитывали? Подкрепите как-то Ваши обвинения, а то про соринку и бревна придется вспоминать. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 15:22 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
x1ca4064 Мимопроходящий пропущено... не надо бросаться пустыми словами. Подкрепите как-то Ваши обвинения, а то про соринку и бревна придется вспоминать. Это же ты про какие-то транзакции сумничал, не он. Рассказывай. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 15:27 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
ъъъъъ Это же ты про какие-то транзакции сумничал, не он. Рассказывай. Откуда это патологическре желание обращаться на "ты" к незнакомым людям? Ну ладно, это вопрос к родителям, скорее. Рассказываю: Пусть есть программа, которая работает с кассой, например. Открывается чек, добавляются в него товары, кассир закрывает программу, не закрыв чек. По условию ТС ничего не чистим (сразу вызываем halt в обработчике закрытия), программа просто закрывается, на кассе остается открытый чек - это иногда может приводить к забавным эффектам: у следующего покупателя могут появиться "левые" товары. Думаю, подобных примеров можно придумать много в случае работы с внешними устройствами. Ситуация, когда не чистим при закрытии, очень похожа на аварийное отключение питания у компьютера или вызов TerminateProcess. Неужели Word никогда не падал с последующим покореженным документом? Совсем забыл: работа с кассовым чеком является транзакционной - он может быть либо закрыт, либо отменен. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 16:06 |
|
Проблема при закрытии программы
|
|||
---|---|---|---|
#18+
x1ca4064Откуда это патологическре желание обращаться на "ты" к незнакомым людям? В том числе и из ФИДО, где обращение на "Вы" расценивалось как оскорбление. "Ой не понимаю чего вы спорите..." (с) Есть чётко определённый список ресурсов, которые ОС освобождает при завершении процесса, делая это определённым образом. Всё остальное - НЕ ОСВОБОЖДАЕТСЯ. Причём в некоторых случаях это в доке прописано явно жирными буквами. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2021, 16:22 |
|
|
start [/forum/topic.php?fid=58&msg=40105639&tid=2036940]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
141ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 231ms |
total: | 480ms |
0 / 0 |