gdbpy_enter enter_py (gdbarch, current_language);
+ /* When we're limiting the number of frames, be careful to request
+ one extra frame, so that we can print a message if there are more
+ frames. */
+ int frame_countdown = -1;
+ if ((flags & PRINT_MORE_FRAMES) != 0 && frame_low >= 0 && frame_high >= 0)
+ {
+ ++frame_high;
+ /* This has an extra +1 because it is checked before a frame is
+ printed. */
+ frame_countdown = frame_high - frame_low + 1;
+ }
+
gdbpy_ref<> iterable (bootstrap_python_frame_filters (frame, frame_low,
frame_high));
break;
}
+ if (frame_countdown != -1)
+ {
+ gdb_assert ((flags & PRINT_MORE_FRAMES) != 0);
+ --frame_countdown;
+ if (frame_countdown == 0)
+ {
+ /* We've printed all the frames we were asked to
+ print, but more frames existed. */
+ printf_filtered (_("(More stack frames follow...)\n"));
+ break;
+ }
+ }
+
success = py_print_frame (item.get (), flags, args_type, out, 0,
levels_printed.get ());