I came across this situation many times and had to do a few things to solve the problem.
1) If DDMS is running, close it (sometimes it interferes with debugging).
2) Run the emulator, try connecting to DDMS, then turn it off, then go back to eclipse and run the debugger.
3) Kill the emulator, kill the adb process in the task manager, restart eclipse, then try debugging, allowing Eclipse to start the emulator, sometimes the first emulator download expires, so when it is fully launched, start debugging again.
In general, however, I found it much easier not to use the emulator and use the actual device, for me it is much faster.
source share