lldb doesn't attempt to generate thread creation & destruction events at 
present.  If it did there would be a "threadCreated" event on the process, but 
as you see there isn't...

There was some discussion about this a little while ago on the list.  IMHBSEO 
the debugger should interfere with the running of a program as little as 
possible when the target is just running flat out.  So I wouldn't want lldb to 
watch thread creation and destruction by default, since you will end up 
starting and stopping the target much more often for information that in 
general you don't want to see. 

But it would be fine to add a setting that you could turn on in lldb to try to 
catch thread create/destroy. For extra credit, you could flip this on when 
somebody signs up for the thread creation events we would vend. 

Anyway, IIUC gathering these events would be easy to do on Linux, since you 
already have to be notified of new thread creation so you can attach to them.

On OS X it would be trickier.  There is no kernel level notification of thread 
creation or destruction.  You could get thread creation by breaking on the 
couple of functions OS X always uses to start up new threads.  Getting 
destruction would be trickier since you'd have put a breakpoint in the thread 
create function on the return from the thread body function.  That would 
probably be easy to tell by eyeballing the function's disassembly, but might be 
harder to determine programmatically.

Feel free to file a bug or even better provide a patch if this is something you 
really need.

Jim

> On Jul 31, 2015, at 3:13 PM, Jeffrey Tan <jeffrey.fu...@gmail.com> wrote:
> 
> How to receive thread create/destroy events from LLDB? I did not find a 
> broadcast bit from SBTarget or SBProcess or SBThread. I have enabled both 
> SBProcess.eBroadcastBitStateChanged and 
> SBTarget.eBroadcastBitBreakpointChanged, but still did not retrieve any 
> thread create/destroy event via SBThread.EventIsThreadEvent(). 
> 
> I know I can query for all threads while process is paused but thread can be 
> create/destroy in run mode so it is important/useful for debugger client to 
> receive this kind of notification. 
> _______________________________________________
> lldb-dev mailing list
> lldb-dev@cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev


_______________________________________________
lldb-dev mailing list
lldb-dev@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to