Skip to content

Expose function to get address of dynamic instruction for Flutter crash symbolication #831

@ahmed24khaled

Description

@ahmed24khaled

Hello folks,

I am trying to use Sentry's symbolic project to symbolicate Flutter crashes like below:

#00 abs 00000079069f28af virt 000000000038c8af _kDartIsolateSnapshotInstructions+0x246f2f
#01 abs 000000790691ab6f virt 00000000002b4b6f _kDartIsolateSnapshotInstructions+0x16f1ef

I'm having trouble getting the address of the dynamic instruction _kDartIsolateSnapshotInstructions that is needed for symbolication.

When I looked at the symbolication process in Flutter(symbolize command), I found that I need the address of the dynamic instruction and the address of the symbol will be instruction address + offset. However, I couldn't find an exposed function that returns the address based on the instruction.

I noticed that the information I need is available in the symbols, dynamic_symbols, and dynamic_strtab fields of the ELF file. Therefore, I'm wondering if it would be possible to expose a function that returns the address of the dynamic instruction for the purpose of symbolicating Flutter crashes.

If I'm missing something, could someone please help me understand how to get the address of the dynamic instruction for Flutter crash symbolication or how to use symbolic for this case ?

Also, I believe that the crashes sent from the Dart SDK have the same format as the one I provided above without the address of the instruction, right?

Thank you.

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions