[lldb-dev] Debugging Python scripts (backtraces, variables) with LLDB

Jim Ingham via lldb-dev lldb-dev at lists.llvm.org
Wed Jul 6 11:56:56 PDT 2016


Nothing of this sort has been done to my knowledge, and I haven't heard of any plans to do so either.

It should certainly be possible, you just need to grub the C stack and recognize the pattern of a Python stack frame in it and where said frame stashes away the arguments & locals, and then re-present it as a Python frame.  The SB API's should make that fairly straight forward.

It looks like the Python work in gdb is based on a generic "frame filter" concept in the gdb Python API's.  That's something Greg and I talked about when working on gdb way back, and has been a future goal for lldb from the start, but it hasn't ever gotten beyond discussion to date.  We already have the notion of a "thread provider" which allows the Mach Kernel plugin to present its activations as threads in lldb.  You could do much the same thing in lldb, where a thread would have the native unwind based stack frame and then pluggable StackFrame provider that would show different representations of the stack.

If anybody is interested in taking on such a project, that would be very cool.

Jim

> On Jul 6, 2016, at 8:48 AM, Alexandru Croitor via lldb-dev <lldb-dev at lists.llvm.org> wrote:
> 
> Hello,
> 
> I've searched for information wether it is possible to debug a python script using LLDB, and haven't found anything so far.
> 
> Specifically I'm interested in an LLDB counterpart to what GDB provides (the two main pages being https://wiki.python.org/moin/DebuggingWithGdb and http://fedoraproject.org/wiki/Features/EasierPythonDebugging ).
> 
> So python stack traces, python values, etc.
> 
> I assume this is not implemented, but are there any plans, or is it even feasible to implement?
> 
> Regards, Alex.
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev



More information about the lldb-dev mailing list