I guess the GDB stack sniffer just failed to unwind a frame. This is because when you halt the debugee, it may paused in a system dll which does not have any debug information GDB knows. (Maybe, you can try a more recent GDB to see its sniffer get more robust
Do the below steps work after those situation happens? (either in the command line or under C::B)
1, set a bp in the line such as "++x;",
2, you run the continue command
3, the debugee will hit this breakpoint.
I used glindsey's code from this topic. After pausing the debugger, this is all I get from the debugger log:
....
At this moment, I can resume the program and it runs. I can set a breakpoint in the code and it stops there. But I can't get to the program code in which the program is at the moment of pausing (the loop in this example). As you see, the program is not even in the stack trace.
...
Oh, it looks like you can hit the BP, which verify my guess.
I can't get to the program code
This means GDB can't map the instruction address to source code location.