Set up an overnight job that sanitizes snapshots of prod data — replacing PII or other sensitive data with randomly generated cruft — and loads that into a pre-prod environment for use in debugging. For easiest troubleshooting, have it preserve primary keys; and have customer service look up the PKs of affected users’ records.
This won’t work for all classes of bug, but helps a lot.
Also helpful: extensive logging, telemetry, and exception capture with not just stack but context; session recordings to video (the service we use for that blanks out user inputs for privacy purposes but lets you see where things went wrong).