If you really want to do any sort of heavy debugging in C you should really do yourself a favor and learn to use gdb. You'll be able to debug your code while still keeping the source intact and also get more tools.
This in no way prevents you from using GDB, and could indeed complement it. You can't always depend on having GDB available (i.e. production hosts where the sysadmins have (rightfully) restricted the use of compilation and debugging tools).