Re[2]: Крашит в дебрях std при работе с ofstream
От: Sheridan Россия  
Дата: 16.12.18 23:11
Оценка:
Здравствуйте, Erop, Вы писали:

S>>сам логгер — синглтон, создаётся при первом обращении, удаляется при выходе из приложения

S>>Накидайте идей что это может быть? Может уже встречалось такое?...


E>А объект логгера на момент крэша ещё жив?

Да.

E>Вообще, идея делать логгер синглетоном, создающимся по требованию, делает плохо контролируемым момент его разрушения.

Он не разрушается. Точнее разрушается когда сам синглтон разрушается. Всмысле есть один большой синглтон, который в себе хранит указатели на объекты, которые должны быть в единственном экземпляре. Создаёт эти объекты при первом запросе и удаляет в своём деструкторе.

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

E>За одно и из деструкторов его не могут звать, часом?
Нет, первый вызов из main() вообще.

E>Кстати, а зачем его вообще разрушают?

Его не разрушают, точнее разрушают при дестрое снглтона, который дестроится при выходе из приложения. ))

E>Можно попробовать или сделать логгер глобальным статическим объектом, задав ему высокий приоритет инициализации.

Ну, собственно, так сейчас и есть. И до креша логгер успевает много чего понаписать.
Matrix has you...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.