Osobiście bardzo polecam clang z pakietu LLVM - http://llvm.org/. Ma bardzo dobre komunikaty o błędach i ostrzeżeniach w czasie kompilacji!
Co do debuggera to już kwestia IDE - dużo osób poleca Visuala, ja dalej nawet bardzo duże projekty debuguje za pomocą printfów i asercji... także jak dla mnie możesz wziąć nawet dobry edytor tekstu dla programisty, typu Sublime Text (http://www.sublimetext.com/). Plus jest taki, że nauczysz się odróżniać poszczególne narzędzia, z których korzystasz podczas pracy (nie popełnisz błędów kolegów, nazywając CodeBlocksa kompilatorem ;)). Ostatnio mam kolejnego bardzo dobre narzędzie do debugowania, a jest nim Valgrind (http://valgrind.org/). Używałem go programując jakieś lowlevelki POSIXowe i sprawdził się nadzwyczaj dobrze - jest w stanie wyszukać nawet race conditions w programach wielowątkowych, co jest sporym plusem.
Pozdrawiam
Killavus
Zakładki