Skip to content

Additional features for analyze_snapshot tool #47924

Open

Description

@perks

Recently added in https://dart-review.googlesource.com/c/sdk/+/221087/ is a executable target build alongside the SDK tree that will allow for a stand-alone static analysis tool that will be able to parse snapshots generated by the current version of the SDK in a maintainable way that doesn't require manual upkeep to correct for breaking changes between the snapshot binary layout in different versions.

Currently basic support is added for class/function table metadata as well extracting string reference information.

This issue will track updates/checklists for additional features to be added.

  • Class/Function table metadata
  • Global Object Pool data
    • kOneByteString
    • kTwoByteString
  • Process Dispatch Table entries
  • Automatically parse VM init flags from snapshot
  • Data Export formats
    • JSON
    • stdout "Pretty Print"

Activity

  1. added
    area-vmUse area-vm for VM related issues, including code coverage, and the AOT and JIT backends.
    on Dec 16, 2021
  2. eseidel commented on Mar 12, 2025

    @eseidel
    Contributor

    Shorebird has an extensive fork of analyze_snapshot (including dumping of the dispatch table), happy to upstream some/all of it.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-vmUse area-vm for VM related issues, including code coverage, and the AOT and JIT backends.type-taskA well-defined stand-alone task

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions