Hallo,
ich gehe mal davon aus das du mit "Kommentarzeichen setzen" meinst das du bestimmte Zeilen auskommentierst, um zu sehen ob der Fehler aus dieser Zeile kommt.
Das ist schon eine sehr primitive Art des Debuggings. Eine weitere Möglichkeit ist noch "printf oder std::couts <<" einzufügen um z.B. den Wert bestimmter Variablen zu einem Zeitpunkt zu ermitteln. Wie gesagt das sind wirklich die primitivsten Methoden, die man nutzen kann.
Wenn du das ganze etwas professioneller machen willst, solltest du dich mit einem Debugger auseinander setzen. Unter Linux gibt es z.B. den gdb. Aber auf Kommandozeile debuggen, finde ich jetzt nicht so produktiv, weshalb es besser ist eine GUI für den Debugger zu verwenden. Meiner Erfahrung nach bietet der QtCreator eine herrvorragende GUI für den gdb. Mit einen Debugger kannst du so gennante "Breakpoints" in deinen Quelltext setzten an denen das Programm dann pausiert wird. Du kannst dann zeilenweise durch deine Programm durchsteppen und auch währendessen die Inhalte der Variablen anschauen.
Wenn du mal auf Probleme mit Speicherzugriff bzw. Speicherverwaltung stößt ist valgrind ein sehr nettes Framework. Es enthält das tool "memcheck" mit dem man Memory Leaks, falsche Speicherzugriffe und ähnliches finden kann.
Falls du irgendwann mal größere Programme schreiben möchtest, kannst du dich auch in Test-Frameworks einlesen(z.B. Google Test). Damit kann man eine Reihe von Tests schreiben, die man dann ziemlich einfach automatisch ausführen kann. Ist sehr nützlich, wenn man an einem Programm was ändert und nicht immer per Hand alle möglichen Funktionen des Programms testen möchte. Dadurch kann man ganz gut verhindern, dass neu eingebaute Funktionen an anderen Stellen neue Fehler erzeugen.
Ich hoffe ich konnte dir einen kleinen Überblick geben.
Grüße
Marcel