vim is arguably an IDE, because of :make and the ability to jump through build errors without leaving the editor. I don't think one can't debug in vim, but then depending on what you write you may very well not have this need to begin with.
There are plugins that allow for debugging. I was hacking on a web-app that was possibly the worst PHP any one in my office had ever seen. I wouldn't have been able to get ANYTHING done without it. For anyone that's interested: http://www.vim.org/scripts/script.php?script_id=1152