Quick answer: Godot 4 C# stack traces showing only addresses in release builds? Debug symbols stripped by default - keep them in a separate PDB and ship the stripped binary.

Crash report from a tester: at 0x7ff8.... No method names, no file/line. Useless.

Build with Portable PDB

<DebugType>portable</DebugType>
<DebugSymbols>true</DebugSymbols>

In csproj. Generates a .pdb next to the .dll; ship neither initially, symbolicate crash reports server-side.

Keep symbols out of the user build

Don't ship the .pdb to players. But keep it in your symbol store; you'll want it to resolve frames from crash reports.

Wire to your crash reporter

Bugnet's crash reporter accepts symbol uploads. Tagged by build SHA; symbolication is automatic when reports come in.

“Symbolication is a server-side problem. Ship the stripped binary; keep the symbols.”

Automate symbol upload in CI. Manual upload is the kind of step that's missed exactly once - the once that matters.