Skip to content

LLDB type formatters do not work with in-source flutter libcxx #180132

@planetmarshall

Description

@planetmarshall

Summary

LLDB type formatters (pretty printers) do not format STL types correctly when using the in-source libcxx in flutter

Expected outcome

STL types should automatically be formatted when using the LLDB debugger with Flutter Engine sources.

(std::vector<std::basic_string<char> >) severities = size=4 {
  [0] = "INFO"
  [1] = "WARNING"
  [2] = "ERROR"
  [3] = "IMPORTANT"
}

Actual outcome

STL types are formatted using LLDB's default display

(std::vector<std::basic_string<char> >) severities = {
  __begin_ = 0x0000555559cae0a0
  __end_ = 0x0000555559cae100
  __cap_ = 0x0000555559cae100
  __padding1_548_ = {}
  __alloc_ = {}
  __padding2_548_ = {}
}

Steps to reproduce

  1. Build the flutter engine unittests with Linux
  2. Change to the build output folder (eg src/out/host_debug_unopt )
  3. Run
    $ lldb ./exe.unstripped/fml_unittests -- --gtest_filter=LoggingTest.SanityTests
    (lldb) breakpoint set --file logging_unittests.cc --line 81
    (lldb) run
    (lldb) frame variable severities
    

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work listengineflutter/engine related. See also e: labels.r: fixedIssue is closed as already fixed in a newer versionteam-engineOwned by Engine teamtriaged-engineTriaged by Engine teamwaiting for PR to land (fixed)A fix is in flight

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions