GDB (API)
/home/stan/gdb/src/gdb/inline-frame.h
Go to the documentation of this file.
00001 /* Definitions for inline frame support.
00002 
00003    Copyright (C) 2008-2013 Free Software Foundation, Inc.
00004 
00005    This file is part of GDB.
00006 
00007    This program is free software; you can redistribute it and/or modify
00008    it under the terms of the GNU General Public License as published by
00009    the Free Software Foundation; either version 3 of the License, or
00010    (at your option) any later version.
00011 
00012    This program is distributed in the hope that it will be useful,
00013    but WITHOUT ANY WARRANTY; without even the implied warranty of
00014    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015    GNU General Public License for more details.
00016 
00017    You should have received a copy of the GNU General Public License
00018    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
00019 
00020 #if !defined (INLINE_FRAME_H)
00021 #define INLINE_FRAME_H 1
00022 
00023 struct frame_info;
00024 struct frame_unwind;
00025 
00026 /* The inline frame unwinder.  */
00027 
00028 extern const struct frame_unwind inline_frame_unwind;
00029 
00030 /* Skip all inlined functions whose call sites are at the current PC.
00031    Frames for the hidden functions will not appear in the backtrace until the
00032    user steps into them.  */
00033 
00034 void skip_inline_frames (ptid_t ptid);
00035 
00036 /* Forget about any hidden inlined functions in PTID, which is new or
00037    about to be resumed.  If PTID is minus_one_ptid, forget about all
00038    hidden inlined functions.  */
00039 
00040 void clear_inline_frame_state (ptid_t ptid);
00041 
00042 /* Step into an inlined function by unhiding it.  */
00043 
00044 void step_into_inline_frame (ptid_t ptid);
00045 
00046 /* Return the number of hidden functions inlined into the current
00047    frame.  */
00048 
00049 int inline_skipped_frames (ptid_t ptid);
00050 
00051 /* If one or more inlined functions are hidden, return the symbol for
00052    the function inlined into the current frame.  */
00053 
00054 struct symbol *inline_skipped_symbol (ptid_t ptid);
00055 
00056 /* Return the number of functions inlined into THIS_FRAME.  Some of
00057    the callees may not have associated frames (see
00058    skip_inline_frames).  */
00059 
00060 int frame_inlined_callees (struct frame_info *this_frame);
00061 
00062 #endif /* !defined (INLINE_FRAME_H) */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines