SQLRU.net
Разработка приложений баз данных

Сегодняшние сообщения (вкл)  | Сообщения без ответа (откл)

Форум: Delphi
 Тема: Как найти ошибки в программе, которые портят память? Что такое Assertion Error в SafeMM и как искать
Re: Как найти ошибки в программе, которые портят память? Что такое Assertion Error в SafeMM и как искать [сообщение #6043 является ответом на сообщение #6040] Sun, 27 April 2025 00:50
Svetlana95 в настоящее время не в онлайне  Svetlana95
Сообщений: 5
Зарегистрирован: April 2025
Junior Member
Не то, чтобы сильно глючит. Так, подглючивает немного. Проявляется это в том, что у клиентов иногда появляются странные сообщения, они просто их закрывают и продолжают работу. Иногда примерно раз в неделю в случайное время программа вылетает. Но в целом жить можно. 4 года было непонятно, в чём дело. Тут, кажется, дошло - но не факт это единственное, что глючит - как раз дело в потоках - и программный код для работы с потоками не является потокобезопасным. Проблему с потоками решаю сейчас с помощью применения CriticalSection во всех сомнительных местах (благо на всю программу то, что работает в потоках занимает от силы 5-10 строк кода, всё остальное выполняется в основном потоке и не должно глючить). И действительно, после применения CtriticalSection глючить стало меньше, но полностью глюки не ушли, это похоже не единственное что есть.
Re: Как найти ошибки в программе, которые портят память? Что такое Assertion Error в SafeMM и как искать [сообщение #6044 является ответом на сообщение #6043] Sun, 27 April 2025 00:53
Svetlana95 в настоящее время не в онлайне  Svetlana95
Сообщений: 5
Зарегистрирован: April 2025
Junior Member
Все что не в потоках EurekaLog замечательно ловит. А в потоках EurekaLog плохо такие баги отлавливает. И правда - как их ловить если 99% времени всё работает нормально. Потоки написаны не безопасным образом - но 99% времени ничего не глючит при этом, не каждую минуту происходит одновременное изменение несколькими потоками одних и тех же объектов. Потому и трудно ловить баги.



Текущее время: Mon Apr 28 15:57:31 GMT+3 2025

Общее время, затраченное на создание страницы: 0.00945 секунд