Debugging x86 binaries on x86_64?

Hi everyone,

I just built lldb 3.5.0 from source on a x86_64 Debian Stable machine (because there are no packages for Debian Stable). When I try to debug a 32bit (x86) application with the resulting binary, I get the following error:

$ lldb -p $(pgrep foo)
lldb: llvm-3.5.0.src/tools/lldb/source/Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp:137: uint32_t GetRegisterInfoCount(const lldb_private::ArchSpec&): Assertion `!GetPrivateRegisterInfoVector ().empty () && "i386 register info not yet filled."' failed.

Debugging x86_64 works just fine. Why is that? Is this a known bug? How can I fix this?

Best regards,


It looks like debugging 32 bit processes hasn’t been implemented yet. You’ll find many things missing in the current Linux support. It’s being worked on but it will be a while. Let me know if you’re looking to help out! :slight_smile:

This has been fixed back in August. You’re running an old version of lldb. I would recommend building from master if that’s possible for your use case.