> On May 4, 2017, at 7:15 AM, Scott Smith via lldb-dev 
> <lldb-dev@lists.llvm.org> wrote:
> 
> I would like to change the list of threads that lldb presents to the user for 
> an internal application (not to be submitted upstream).  It seems the right 
> way to do this is to write an OperatingSystem plugin.
> 
> 1. Can I still make it so the user can see real threads as well as whatever 
> other "threads" I make up?

Yes, you can present whatever thread objects you want in the public thread list.

> 
> 2. Is the purpose of the Python OperatingSystem plugin to allow the user to 
> write plugins in Python?  It doesn't look like it's to help debugging of 
> Python programs.
> 

Exactly.  That's the way the OS X Kernel team presents the "activations" in the 
OS X kernel.

If you can get your hands on the Mac OS KDK (you can get it here:

https://developer.apple.com/download/more/

but you need an ADC account) the xnu.dSYM contains the (Python) implementation 
of the xnu Operating System plugin.

> 2a. If that's true, is there a reason the Go OperatingSystem plugin is 
> written in C++ instead of Python?  Is it just historical, or is there some 
> advantage to writing it in C++?
> 

I don't know why the Go OS plugin was written in C++.  Most likely since the Go 
support was built into lldb anyway, that seemed natural?  There is a "load 
plugin" command that you can use to load your plugin into lldb if you write it 
in C++.  So you aren't limited in distribution choice by which language you 
choose.  I don't think there's any advantage to using C++ over Python, except I 
guess if the computations you need to do to generate the threads are 
particularly compute intensive.  

> 3. Does this work just as well when dealing with core files as when dealing 
> with a running process?

Yes, core file analysis using threads provided by the xnu operating system 
plugin is pretty heavily used at Apple.  

Jim

> 
> _______________________________________________
> lldb-dev mailing list
> lldb-dev@lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

_______________________________________________
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

Reply via email to