Skip to content

LLDB cannot show backtrace at rust_begin_unwind #8543

Closed
@lilyball

Description

@lilyball

When using LLDB to debug rust, breaking on rust_begin_unwind only provides the following backtrace:

* thread #2: tid = 0xef8f7, 0x00000001027a2efe librustrt.dylib`rust_begin_unwind(token=839147) + 14 at rust_builtin.cpp:563, stop reason = breakpoint 1.1
    frame #0: 0x00000001027a2efe librustrt.dylib`rust_begin_unwind(token=839147) + 14 at rust_builtin.cpp:563
    frame #1: 0x0000000100093678 libstd-6c65cf4b443341b1-0.8-pre.dylib`rt::task::__extensions__::meth_25045::begin_unwind::_7c12263797ed078::_0$x2e8$x2dpre + 72

GDB is able to show the full stack.

I believe LLDB uses a different method of generating a backtrace than GDB, one that is considered much safer, but is also more sensitive. However I don't know the details.

Unfortunately, this is going to become a big issue for anyone using Rust on OS X, as the upcoming version of the developer tools (Xcode 5) is dropping GDB (and GCC) entirely.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-debuginfoArea: Debugging information in compiled programs (DWARF, PDB, etc.)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions