Size: a a a

2020 February 02

DB

Dmitry Belkevich in Delphi & Lazarus
маловероятно если оно там readonly
источник

AS

Alexey Shumkin in Delphi & Lazarus
Но я прям узнал новое про WinDbg :)
У него, оказывается, гораздо больше возможностей, чем представлялось :)
источник

AS

Alexey Shumkin in Delphi & Lazarus
Книжечку бы Advanced Windows Debugging почитать...
При поиске по этому названию на одном сайте нашёл серию видосов с таким названием, там есть и heap corruption. Но времени уже и так не было :))
источник

ВБ

Владимир Б. in Delphi & Lazarus
Alexey Shumkin
хрень какая-то
WinDbg ловит двойное высвобождение кучи при завершении потока

http://www.informit.com/articles/article.aspx?p=1081496&seqNum=2
+
https://stackoverflow.com/questions/2470131/visual-studio-how-to-find-source-of-heap-corruption-errors

Заменил CreateAnonymousThread на TTask.Run - ошибки , вроде, пропали )
но, чувствую, что где-то подвох... т.к. AnonymousThread - это просто поток , выполняющий замыкание....
Тут читать не перечитать )

А по потокам однозначно подвох, так как в моем приложении обычные потоки, и таже история.

Буду смотреть на все эти глобальные списки и пробовать от них избавиться, но боюсь что не в них дело.
источник

ВБ

Владимир Б. in Delphi & Lazarus
Alexey Shumkin
Книжечку бы Advanced Windows Debugging почитать...
При поиске по этому названию на одном сайте нашёл серию видосов с таким названием, там есть и heap corruption. Но времени уже и так не было :))
Спасибо большое за попытку помочь
источник

GB

George Bakhtadze in Delphi & Lazarus
Владимир Б.
Тут читать не перечитать )

А по потокам однозначно подвох, так как в моем приложении обычные потоки, и таже история.

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

ВБ

Владимир Б. in Delphi & Lazarus
George Bakhtadze
так можно ж проверить сперва
Что именно?
источник

GB

George Bakhtadze in Delphi & Lazarus
в списках ли дело
источник

DB

Dmitry Belkevich in Delphi & Lazarus
там список при инициализации заполняется и всё, как я понял
источник

DB

Dmitry Belkevich in Delphi & Lazarus
не могу представить себе сценарий проблемы при многопоточном чтении из списка
источник

DB

Dmitry Belkevich in Delphi & Lazarus
скорее всего не он
источник

DB

Dmitry Belkevich in Delphi & Lazarus
проверить, думаю, просто: запустить десяток потоков с рандомным поиском по списку
источник

DB

Dmitry Belkevich in Delphi & Lazarus
100% гарантии не даст, конечно, но явное или вылезет или нет
источник

ВБ

Владимир Б. in Delphi & Lazarus
Dmitry Belkevich
не могу представить себе сценарий проблемы при многопоточном чтении из списка
Предварительно - дело таки в этих списках. Но вот по какой причине - не понятно. Я перенёс создание THTMLTagList с глобального варианта - на создание в нужных классах. И пока клацаю - ошибка не воспроизводится
источник

ВБ

Владимир Б. in Delphi & Lazarus
но вот вопрос - какого хрена?
источник

ВБ

Владимир Б. in Delphi & Lazarus
Списки только для чтения, за счёт чего может происходить конкуренция в потоках?
источник

DB

Dmitry Belkevich in Delphi & Lazarus
чудеса, да
источник

DB

Dmitry Belkevich in Delphi & Lazarus
может всё таки что-то пишется? неявно
источник

RY

Roman Yankovsky in Delphi & Lazarus
Напомните, как по-английски называется конкретный элемент из enumeration type ?
источник

RS

Renat Suleymanov in Delphi & Lazarus
Roman Yankovsky
Напомните, как по-английски называется конкретный элемент из enumeration type ?
identifier? )
источник