Зависи какъв точно дебъгер ти трябва. Ако искаш да кракваш програми за Win, за тази цел си има точно специализирани дебъгери, които улавят всякакъв тип събития - писане в регистъра, показване на текстово поле за въвеждане на парола, писане по харда и т.н. Ползвал съм SoftIce в комбинация с W32Dasm.
Но ако искаш да си изучаваш собствените програми, тогава използвай дебъдера на компилатора. На thegeekstuff.com бях мернал интересна статия за дебъгване за компилатора gcc. Дебъдера се казва dbg и е особено популярен в OpenSource средите. намерих и статията:
How to Debug C Program using gdb in 5 Simple StepsДано ти е полезно.