LLDB for Android: any status?

Hi Todd,

I am interested in using lldb to debug on Android devices from VS. In February you were suggesting that using gdb was the best option but that various efforts were underway to improve the lldb-on-Android story. Do you by chance have an update on that status?

Thanks,

Paul

Sure.

I got lldb-gdbserver, a key piece along the path, upstreamed early last week with preliminary Linux x86_64 support. It now needs to be put through its paces. I’ll be doing that as soon as I can escape build/test issues we’ve been experiencing with more Windows contributions lately and a slightly rotted keep-tests-green situation.

What still needs to happen before we get it on Android:

  • llgs needs to be verified by two approaches: get remote test suite running, and get local test suite running using llgs locally, much like Apple does with using debugserver for local MacOSX debugging. These will surface unknowns in the llgs implementation.
  • Linux support for more platforms is needed. ARM32, ARM64, MIPS/MIPS64, and x86 32-bit.
  • Androidisms need to be accounted for. That will be something slightly different than Linux but should only be a tweak off of Linux support, not something totally new. Not sure of the extent of it yet. I don’t expect it to be too bad. I’m starting with pure Linux first since that’s an easier scenario to debug.
  • Android compile environment needs to be figured out. My intent is to start with the Android NDK as a pre-req for building lldb-gdbserver (llgs) for Android. We might need a path to build within the Android Platform (AOSP) but I’d like to avoid that if possible, since that will be Yet Another Build System (and we have two too many already).
    We have a crew working on that over here. I can’t promise time frames, but we’re working on it. We’re upstreaming as we have things ready, so you will be able to see progress nearly real-time.

GDB on Android is still the official route at this time and, currently, there is no good route for using LLDB with Android yet. LLDB to stock Android gdbserver is not a working path either (we spent some time there but hit enough issues to make it not worth derailing lldb-gdbserver/lldb work).

Hope that helps!

Thanks Todd, that helps. I’ll keep an eye out for updates.

-Paul