Uh oh!
There was an error while loading. Please reload this page.
Document PDB symbol files for obfuscated Windows x64 builds - #13787
Conversation
With PE/COFF AOT snapshots (flutter/flutter#187594), Windows x64 builds with --split-debug-info produce a PDB file (app.windows-x64.pdb) instead of a .symbols file, and flutter symbolize doesn't support PDB files. Note: this should land after the PE/COFF AOT change reaches the stable channel.
There was a problem hiding this comment.
Code Review
This pull request updates the obfuscation documentation to include specific instructions for Windows x64 builds, noting that they generate a PDB file instead of a SYMBOLS file and require a Windows debugger like WinDbg. The review feedback suggests improving consistency by referencing the PDB file in the backup instructions and moving the Windows-specific note to the beginning of the stack trace section to prevent Windows users from following unnecessary steps.
| 1. Once you've obfuscated your binary, **backup | ||
| the SYMBOLS file**. You might need this if you lose | ||
| the SYMBOLS file** (or the PDB file on Windows x64). | ||
| You might need this if you lose | ||
| your original SYMBOLS file and you | ||
| want to de-obfuscate a stack trace. |
There was a problem hiding this comment.
To maintain consistency with the updated instruction to back up either the SYMBOLS file or the PDB file, we should also update the next sentence to refer to both file types.
| 1. Once you've obfuscated your binary, **backup | |
| the SYMBOLS file**. You might need this if you lose | |
| the SYMBOLS file** (or the PDB file on Windows x64). | |
| You might need this if you lose | |
| your original SYMBOLS file and you | |
| want to de-obfuscate a stack trace. | |
| 1. Once you've obfuscated your binary, **backup | |
| the SYMBOLS file** (or the PDB file on Windows x64). | |
| You might need this if you lose | |
| your original SYMBOLS file (or PDB file) and you | |
| want to de-obfuscate a stack trace. |
| :::note | ||
| On Windows x64, `--split-debug-info` generates a PDB file | ||
| instead of a SYMBOLS file, | ||
| and the `flutter symbolize` command doesn't support | ||
| PDB files. To read a stack trace from an obfuscated | ||
| Windows x64 build, load the PDB file in a Windows | ||
| debugger such as WinDbg. | ||
| ::: |
There was a problem hiding this comment.
Since Windows x64 users do not use the flutter symbolize tool at all, placing this note at the end of the step-by-step guide (and nested under step 2) might lead them to follow steps 1 and 2 unnecessarily before realizing they need a different workflow.
Consider moving this note to the very beginning of the Read an obfuscated stack trace section (right after the introductory sentence on line 110) as a top-level (unindented) block so Windows users see it immediately.
Summary
With PE/COFF AOT snapshots (flutter/flutter#187594), Windows x64 builds using
--split-debug-infoproduce a PDB file (app.windows-x64.pdb) instead of anapp.windows-x64.symbolsDWARF file, andflutter symbolizedoesn't support PDB files.This updates the obfuscation docs to:
app.windows-x64.pdbinstead of a SYMBOLS file.flutter symbolizedoesn't support PDB files, and that stack traces from obfuscated Windows x64 builds are read with a Windows debugger (for example, WinDbg) and the PDB file.Do not merge until flutter/flutter#187594 lands and reaches the stable channel, since this page documents stable-channel behavior.
Fixes the docs question raised in flutter/flutter#187594 (comment)