Skip to content

Deobfuscated stack-traces should show package path like normal stack-traces #153813

@miquelbeltran

Description

@miquelbeltran

Use case

When using the --symbolize option with an obfuscated stack-trace, the source-code paths appear to be absolute.

For example:

at #00 abs 00000070889bcc93 virt 000000000018fc93 _kDartIsolateSnapshotInstructions+0xb9153 (unparsed:null)
at #01 abs 00000070889464fb virt 00000000001194fb _kDartIsolateSnapshotInstructions+0x429bb (unparsed:null)

becomes:

at #0      _MyAppState.build.<anonymous closure> (/path/to/my/my_app/lib/main.dart:89:17)
at #1      _InkResponseState.handleTap (/path/to/my/sdk/flutter/packages/flutter/lib/src/material/ink_well.dart:1170:21)

In a normal (not obfuscated) stack-trace, the paths are all refer to the packages:

e.g.

at _MyAppState.build.<fn> line 113, column 24 (package:my_app/main.dart:113)
at _InkResponseState.handleTap line 1170, column 21 (package:flutter/src/material/ink_well.dart:1170) 

Proposal

Looking at the symbols file with a hex editor, I can see that the paths are all absolute to my machine.

I wonder if it would be possible to store package relative paths instead in the symbol files, as they can be observed in non-obfuscated stack-traces.

Main reasons for this request are:

  • Stack-traces are consistent between obfuscated and non-obfuscated apps.
  • Stack-traces are consistent between machines/setups (as paths won't matter anymore).
  • Shorter package relative paths are easier to read.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Issues that are less important to the Flutter projectc: new featureNothing broken; request for a new capabilityc: proposalA detailed proposal for a change to Flutterteam-toolOwned by Flutter Tool teamtoolAffects the "flutter" command-line tool. See also t: labels.tool-still-validIssues that have been deemed still valid as part of the Flutter Tools issue cleanup initiative.triaged-toolTriaged by Flutter Tool team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      pFad - Phonifier reborn

      Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

      Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


      Alternative Proxies:

      Alternative Proxy

      pFad Proxy

      pFad v3 Proxy

      pFad v4 Proxy