running lldb-mi with LLDB_DISABLE_PYTHON

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

Hi!

Please see possible workarounds in https://llvm.org/bugs/show_bug.cgi?id=28253.

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.

Jim

Do you have any idea about regression after applying workaround 1 ? (For example, wrong output in some cases)

Please provide a little bit more details about the problem. Which command is giving the wrong output?

Regards,

Abid

oh, I just asked whether there is a poosibility of such regression since original code (before workaround 1) seems not allow to use lldm-mi without python support.