Hard debugging is rarely defeated by a lack of tools. It is defeated by three quiet habits: assuming the fault is where the symptom appears, clinging to the first explanation, and hoping a tool will do the thinking. A difficult fault is usually lost to those habits before you read a line of code.
Source: [Dev.to](https://dev.to/raghu_bharadwaj_404e60eb0c/the-mindset-behind-hard-debugging-1bka)