Best Practices for Debugging Smart Contracts Post-Deployment on Blockchain Networks

Are there any strategies recommended for debugging smart contracts, which are already deployed on chain?

E.g. synchronize the on chain state into Blueprint and re-produce the issue locally

using the emulator in Blueprint / sandbox: