Yeah, we could switch the archive cache over to using weak pointers and that should solve the issue.
Greg On Nov 22, 2013, at 9:20 AM, [email protected] wrote: > That's a bug. The archives need to track what modules they came from and > release themselves when there are no more modules referencing them. > > Jim > > On Nov 22, 2013, at 9:06 AM, Carlo Kok <[email protected]> wrote: > >> On Fri, 22 Nov 2013 17:28:25 +0100, <[email protected]> wrote: >> >>> Did you try "target delete <Target that loaded .a file>"? >>> >>> That should clear all the modules held onto by that target. "target list" >>> will show you all the currently open targets. >> >> >> I did, doesn't seem to do much for bsd .a files. This does work though: >> >> #include "Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h" >> >> class MyBSDStuff : private ObjectContainerBSDArchive { >> public: >> static void ClearCache() { >> Mutex::Locker locker(Archive::GetArchiveCacheMutex()); >> Archive::Map &archive_map = Archive::GetArchiveCache(); >> archive_map.clear(); >> } >> }; >> >> >> >> MyBSDStuff::ClearCache(); >> >> which I know is a terrible hack, but I didn't see it anywhere else exposed. >> >> -- >> Carlo Kok >> RemObjects Software > > _______________________________________________ > lldb-dev mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev _______________________________________________ lldb-dev mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
