Yeah, I've been having this problem a lot these last few weeks.
StackOverflow does not lack in offered solutions, but most involved restarting or killing something.
I noticed the error message included the phrase, 'Connection timed out.', and so I hoped that there was some setting to extend that time and so the attachment wouldn't time out.
There is!
What worked for me was to increase the 'timeout' time.
I'm currently on Eclipse Kepler (Build id: 3.0.3-20140327-1716-Typesafe)
Under the Windows menuu -> Perferences -> Java -> Debug
Near the bottom of the window you will see the following field: Debugger timeout(ms): 3000
I just added another zero, 30000, and my troubles were no more.
You may find that your breakpoints continue to be skipped initially, but wait!
With this long timeout time now, just keep running past those breakpoints until the debugger successfully attaches and boom! You're stopping at breakpoints.
Better still, start up your app in 'debug mode', fold your arms, wait 30 secs or more...then have at her!
It was the following link that lead to this revelation:
getting Launch error: Failed to connect to remote VM. Connection timed out. which trying to debug my app on my device in android