Although debugging is a valuable skill that you should hone, eventually, as your skill set and development maturity grows, you will rely more on unit/integration tests than manual debugging. A failed unit/integration test will often tell you enough to ascertain the issue without tedious breakpointing and stepping (warning: sometimes you will still have to debug though).
I suggest that you jump straight into unit/integration testing - there is no better time to start than now as you are still learning. The refactoring that may be necessary to modularize your code to make it testable will be well worth it in the long run. The testing effort will force you to find ways to incorporate useful principles (if object-oriented: SOLID) which will greatly increase your effectiveness as a developer.
When you find yourself in a situation of not knowing what is going wrong, you know that your test plan and probably your design need work. In cases like this, debugging can be reactive (though useful depending on the situation). Be proactive and build out tests.