The first step in squashing a bug is to identify it. This involves staring at the code for an extended period, questioning the life choices that led you to this point, and possibly crying in the corner.
Learn more about identifying the squashOnce you've identified the squash, isolate it. Move it to a separate environment, give it a name, and stare at it some more. This will help you develop a deeper understanding of the squash's intricacies.
Read about squash isolation techniquesThis is the part where you actually fix the bug. Use your newfound understanding to craft a solution, and apply it with reckless abandon. Remember, the goal is to make the squash disappear, not to make it worse.
Learn the art of squash squashing