Debugging can be simply defined as a process of identifying, isolation, and resolving issues within software code. With debugging, we can ensure th...
For further actions, you may consider blocking this person and/or reporting abuse
You missed one of the most important debugging technique using a debugger and actually debugging/stepping through your code. With a debugger you can set break points, step through your code and see the state of variables and how they change as you step through. Some debuggers will allow you to execute arbitrary code in a console, which can allow you to verify assumptions, an try out possible solutions without restarting your app. If you are working in an IDE using a debugger a lot of them will allow you to debug into decompiled source code and some will go further and will download and link the source so that you can debug through it. A wise Engineer once told a younger me to use the source, meaning debug through it because you can see what your code is sending in, and how your code interacts with it. You can also get a better appreciation for the libraries you use, and on a rare occasion find an actual bug in the library and report that, or if so inclined fix it.
Surprisingly you talk about debugging without mentioning debuggers. Using GDB or LLDB is a skill that will save you tons of hours of debugging. If you then decide to try time travel debugging (rr and UDB being the two main players) you will go from days and weeks of debugging to mere hours, if not minutes.
sourceware.org/gdb/
replay.io/
Https://undo.io/