[lldb-dev] lldb keeping .a file open
jingham at apple.com
jingham at apple.com
Fri Nov 22 09:20:52 PST 2013
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 <ck at remobjects.com> wrote:
> On Fri, 22 Nov 2013 17:28:25 +0100, <jingham at apple.com> 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
More information about the lldb-dev
mailing list