You can debug an application with GDB in Emacs using graphical mode or text command mode (see GDB Graphical Interface in The extensible self-documenting text editor).
If you are using graphical mode you can see how selected variables change each time your program stops (see Watch Expressions in The extensible self-documenting text editor).
If you are using text command mode, speedbar can show you the current stack when the current buffer is the *gdb* buffer. Usually, it will just report that there is no stack, but when the application is stopped, the current stack will be shown.
You can click on any stack element and gdb will move to that stack level. You can then check variables local to that level at the GDB prompt.