Skip to content

DWARF Import #3206

Closed

Description

@psifertex

We started to create a rust plugin that could use the DebugInfo APIs to parse dwarf information (indeed, it's what DebugInfo was designed for) but it was not completed. The current plugin has a number of limitations that would be eliminated by finishing this plugin.

Activity

  1. added this to the 3.3 (Embedded) milestone on Jun 18, 2022
  2. added
    Effort: MediumIssues require < 1 month of work
    Impact: MediumIssue is impactful with a bad, or no, workaround
    on Jun 20, 2022
  3. removed this from the 3.2 (Windows) milestone on Oct 3, 2022
  4. added this to the Braize milestone on Jan 9, 2023
  5. modified the milestones: Braize, Coruscant on Mar 28, 2023
  6. changed the title [-]finish dwarf plugin migration to rust[/-] [+]DWARF Import[/+] on May 24, 2023
  7. added a commit that references this issue on Jul 9, 2023
    b20be57
  8. 6 remaining items

  9. ElykDeer commented on Jul 10, 2023

    @ElykDeer
    Member

    This is implemented as off 3.5.4377-dev, but disabled by default. To enable the new plugin, enable the setting corePlugins.dwarfImport:
    image

    After that, any ELF files that contain DWARF info should automatically apply at load time. If you'd like to apply debug info from a different file (.dwo, .debug files), you can use the load setting analysis.debugInfo.external or use "Analysis" -> "Import Debug Info from External File".

  10. added a commit that references this issue on Jul 10, 2023
    6325884
  11. fuzyll commented on Aug 22, 2023

    @fuzyll
    Contributor

    Reopening this as I'm continuing to have crashes on a lot of things I'm putting through it and we were hoping to be able to have this turned on by default for the upcoming 3.5 release.

    We can close this again once we've got unit tests committed and have run this across a reasonable corpus of inputs. I believe we'll also need some documentation for how to use this with #3643.

  12. reopened this on Aug 22, 2023
  13. modified the milestones: Coruscant, Dorsai on Aug 23, 2023
  14. ElykDeer commented on Sep 27, 2023

    @ElykDeer
    Member

    Documentation exists here. I've now run this on all the debug files in the Debian corpus (~1TB of files), with no crashes. Parsed ~0.5B Types/Functions/Data Vars.

  15. psifertex commented on Sep 27, 2023

    @psifertex
    MemberAuthor

    I think the only remaining task should be the unit test and it's good to enable by default on dev and close.

  16. ElykDeer commented on Sep 29, 2023

    @ElykDeer
    Member

    We talked about this over Slack, but just putting it here as well that there are unit tests.

  17. ElykDeer commented on Oct 25, 2023

    @ElykDeer
    Member

    The last thing holding this issue open is a round-trip unit test with our DWARF Export plugin, which is blocked by the issue just above, #4700.

  18. ElykDeer commented on Oct 30, 2023

    @ElykDeer
    Member

    I worked around #4700 by shelling out to a subprocess. Would still be nice to fix that, but the round trip unit test is now in and I believe we can consider this issue closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions