Frames == stack frames.
A stack frame is a record that stores information for each function call on the call stack. It contains all parameters, local variables and potential return values of the function that got called.
For each function call that is currently running (i.e. that has not yet exited), there is an additional frame on the call stack.
Missing symbols may indeed cause incorrect display of the stack frames, mainly due to two phenomena:
- Function inlining, and
- Tail-call optimization.
In both cases, function calls in the actual code are transformed into something else, so stack frames are lost (because no call is generated, and hence no stack frame).