У меня есть приложение, которое использует буксировочный журнал. Во время выключения он получает нарушение доступа при доступе нулевого указателя. Когда я перехожу через код к точке отказа, кажется, что файл boost :: log dll де-распределяется, а затем boost :: thread code пытается получить доступ к памяти, которая когда-то была занята log dll.Устранение нарушения доступа к потоку в Boost Log on shutdown
Я не использую ни одного повышающего потока в своем собственном коде, и поэтому предположим, что dll boost-thread используется буфером boost.
Чтобы убедиться, что все раковины разрушены до остановки, я звоню: core-> вровень() и> remove_all_sinks core-()
Я использую импульс 1.60 и также попытался это с повышением 1,63. Тот же результат.
Есть ли способ обеспечить, чтобы ядро бустерного бурения было полностью закрыто перед выходом/выгрузкой DLL?
У вас есть образец минимального кода, где возникает проблема? –
«Boost.Log не поддерживает выгрузку плагинов, поскольку он сохраняет ссылки на различные статические данные и код внутри». - Boost Log автор. Решенная проблема, избегая использования буфера в моем плагине, поскольку он не поддерживает мой прецедент. – JeffV
Вы имеете в виду выключение приложения или выключение системы? – KonstantinL