gdb/inline-frame.h - gdb

Macros defined

Source code

  1. /* Definitions for inline frame support.

  2.    Copyright (C) 2008-2015 Free Software Foundation, Inc.

  3.    This file is part of GDB.

  4.    This program is free software; you can redistribute it and/or modify
  5.    it under the terms of the GNU General Public License as published by
  6.    the Free Software Foundation; either version 3 of the License, or
  7.    (at your option) any later version.

  8.    This program is distributed in the hope that it will be useful,
  9.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  10.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11.    GNU General Public License for more details.

  12.    You should have received a copy of the GNU General Public License
  13.    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */

  14. #if !defined (INLINE_FRAME_H)
  15. #define INLINE_FRAME_H 1

  16. struct frame_info;
  17. struct frame_unwind;

  18. /* The inline frame unwinder.  */

  19. extern const struct frame_unwind inline_frame_unwind;

  20. /* Skip all inlined functions whose call sites are at the current PC.
  21.    Frames for the hidden functions will not appear in the backtrace until the
  22.    user steps into them.  */

  23. void skip_inline_frames (ptid_t ptid);

  24. /* Forget about any hidden inlined functions in PTID, which is new or
  25.    about to be resumed.  If PTID is minus_one_ptid, forget about all
  26.    hidden inlined functions.  */

  27. void clear_inline_frame_state (ptid_t ptid);

  28. /* Step into an inlined function by unhiding it.  */

  29. void step_into_inline_frame (ptid_t ptid);

  30. /* Return the number of hidden functions inlined into the current
  31.    frame.  */

  32. int inline_skipped_frames (ptid_t ptid);

  33. /* If one or more inlined functions are hidden, return the symbol for
  34.    the function inlined into the current frame.  */

  35. struct symbol *inline_skipped_symbol (ptid_t ptid);

  36. /* Return the number of functions inlined into THIS_FRAME.  Some of
  37.    the callees may not have associated frames (see
  38.    skip_inline_frames).  */

  39. int frame_inlined_callees (struct frame_info *this_frame);

  40. #endif /* !defined (INLINE_FRAME_H) */