[lldb-dev] running lldb-mi with LLDB_DISABLE_PYTHON

Jim Ingham via lldb-dev lldb-dev at lists.llvm.org
Tue Sep 20 10:53:37 PDT 2016

If you use the MI, that assumes that the server process is the one doing most of the work.  lldb is not meant to be a light-weight program, and if you start feeding it a lot of symbol information you may find it taking up too many resources to really want to run it on your device.   For device debugging, it is more efficient to run lldb-server or some other monitor that speaks the gdb-remote protocol on the device and then run lldb on the host.  The gdb-remote servers can be much more efficient since they don't directly deal with debug or symbol information.  We've done a lot of work both for iOS and for Android to make lldb's handling of this way of debugging efficient.  The changes we made to the gdb-remote protocol to support this work are documented in docs/lldb-gdb-remote.txt, though lldb will also run correctly with a vanilla gdb-remote server.


> On Sep 20, 2016, at 12:57 AM, Chunseok Lee via lldb-dev <lldb-dev at lists.llvm.org> wrote:
> Dear lldb dev team,
> I am working on running lldb-mi on arm32 device(like rpi) for remote debugging usage.
> Is there any way to run lldb-mi with python disabled ?
> When building lldb with LLDB_DISABLE_PYTHON, it seems that dataformatter initialization is failed due to the following code in MICmnLLDBDebugger.cpp:59   
> //++
> //------------------------------------------------------------------------------------
> // MI summary helper routines
> static inline bool MI_add_summary(lldb::SBTypeCategory category,
>                                   const char *typeName,
>                                   lldb::SBTypeSummary::FormatCallback cb,
>                                   uint32_t options, bool regex = false) {
> #if defined(LLDB_DISABLE_PYTHON)
>   return false;
> #else
>   lldb::SBTypeSummary summary =
>       lldb::SBTypeSummary::CreateWithCallback(cb, options);
>   return summary.IsValid()
>              ? category.AddTypeSummary(
>                    lldb::SBTypeNameSpecifier(typeName, regex), summary)
>              : false;
> #endif
> }
> Thank you.
> BR,
> Chunseok Lee
> -- 
> Where Do We come from? What Are We? Where Are We Going?
> _______________________________________________
> 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