J'ai une application qui utilise la journalisation boost. Lors de l'arrêt, il obtient une violation d'accès sur un accès pointeur nul. Lorsque je passe le code au point d'échec, il semble que le fichier boost :: log dll est en train d'être désaffecté, puis boost :: thread code essaye d'accéder à la mémoire qui était autrefois occupée par la DLL du journal.Boost Accédez Violation d'accès dans Boost Connexion à l'arrêt
Je n'utilise pas de threads boost dans mon propre code, et supposons donc que le dll boost-thread est utilisé par boost log.
Pour vous assurer que tous les puits sont détruits avant l'arrêt, je vous appelle: core-> flush() et> remove_all_sinks de core()
J'utilise boost 1.60 et ai essayé avec boost 1,63. Même résultat
Y a-t-il un moyen de s'assurer que le noyau de journalisation de boost est complètement arrêté avant de quitter/décharger les dll?
Avez-vous un échantillon de code minimum où le problème se produit? –
"Boost.Log ne prend pas en charge le déchargement des plugins car il enregistre en interne des références à diverses données statiques et code." - Boost Journal auteur. Résolution du problème en évitant d'utiliser le journal boost dans mon plugin car il ne supporte pas mon cas d'utilisation. – JeffV
Voulez-vous dire l'arrêt de l'application ou l'arrêt du système? – KonstantinL