GDB (xrefs)
Classes | Enumerations | Functions | Variables
/tmp/gdb-8.1/gdb/break-catch-throw.c File Reference
#include "defs.h"
#include "arch-utils.h"
#include <ctype.h>
#include "breakpoint.h"
#include "gdbcmd.h"
#include "inferior.h"
#include "annotate.h"
#include "valprint.h"
#include "cli/cli-utils.h"
#include "completer.h"
#include "gdb_obstack.h"
#include "mi/mi-common.h"
#include "linespec.h"
#include "probe.h"
#include "objfiles.h"
#include "cp-abi.h"
#include "gdb_regex.h"
#include "cp-support.h"
#include "location.h"

Go to the source code of this file.

Classes

struct  exception_names
 
struct  exception_catchpoint
 

Enumerations

enum  exception_event_kind {
  EX_EVENT_THROW, EX_EVENT_RETHROW, EX_EVENT_CATCH, EX_EVENT_THROW,
  EX_EVENT_RETHROW, EX_EVENT_CATCH
}
 

Functions

static void fetch_probe_arguments (struct value **arg0, struct value **arg1)
 
static enum exception_event_kind classify_exception_breakpoint (struct breakpoint *b)
 
static void check_status_exception_catchpoint (struct bpstats *bs)
 
static void re_set_exception_catchpoint (struct breakpoint *self)
 
static enum print_stop_action print_it_exception_catchpoint (bpstat bs)
 
static void print_one_exception_catchpoint (struct breakpoint *b, struct bp_location **last_loc)
 
static void print_one_detail_exception_catchpoint (const struct breakpoint *b, struct ui_out *uiout)
 
static void print_mention_exception_catchpoint (struct breakpoint *b)
 
static void print_recreate_exception_catchpoint (struct breakpoint *b, struct ui_file *fp)
 
static void handle_gnu_v3_exceptions (int tempflag, std::string &&except_rx, const char *cond_string, enum exception_event_kind ex_event, int from_tty)
 
static std::string extract_exception_regexp (const char **string)
 
static void catch_exception_command_1 (enum exception_event_kind ex_event, const char *arg, int tempflag, int from_tty)
 
static void catch_catch_command (const char *arg, int from_tty, struct cmd_list_element *command)
 
static void catch_throw_command (const char *arg, int from_tty, struct cmd_list_element *command)
 
static void catch_rethrow_command (const char *arg, int from_tty, struct cmd_list_element *command)
 
static struct valuecompute_exception (struct gdbarch *argc, struct internalvar *var, void *ignore)
 
static void initialize_throw_catchpoint_ops (void)
 
void _initialize_break_catch_throw (void)
 

Variables

static const struct exception_names exception_functions []
 
static struct breakpoint_ops gnu_v3_exception_catchpoint_ops
 
static const struct internalvar_funcs exception_funcs
 

Enumeration Type Documentation

◆ exception_event_kind

Enumerator
EX_EVENT_THROW 
EX_EVENT_RETHROW 
EX_EVENT_CATCH 
EX_EVENT_THROW 
EX_EVENT_RETHROW 
EX_EVENT_CATCH 

Definition at line 41 of file break-catch-throw.c.

Function Documentation

◆ _initialize_break_catch_throw()

void _initialize_break_catch_throw ( void  )

◆ catch_catch_command()

static void catch_catch_command ( const char *  arg,
int  from_tty,
struct cmd_list_element command 
)
static

◆ catch_exception_command_1()

static void catch_exception_command_1 ( enum exception_event_kind  ex_event,
const char *  arg,
int  tempflag,
int  from_tty 
)
static

◆ catch_rethrow_command()

static void catch_rethrow_command ( const char *  arg,
int  from_tty,
struct cmd_list_element command 
)
static

◆ catch_throw_command()

static void catch_throw_command ( const char *  arg,
int  from_tty,
struct cmd_list_element command 
)
static

◆ check_status_exception_catchpoint()

static void check_status_exception_catchpoint ( struct bpstats bs)
static

◆ classify_exception_breakpoint()

static enum exception_event_kind classify_exception_breakpoint ( struct breakpoint b)
static

◆ compute_exception()

static struct value* compute_exception ( struct gdbarch argc,
struct internalvar var,
void *  ignore 
)
static

◆ extract_exception_regexp()

static std::string extract_exception_regexp ( const char **  string)
static

Definition at line 400 of file break-catch-throw.c.

References check_for_argument(), skip_spaces(), skip_to_space(), and string.

Referenced by catch_exception_command_1().

◆ fetch_probe_arguments()

static void fetch_probe_arguments ( struct value **  arg0,
struct value **  arg1 
)
static

◆ handle_gnu_v3_exceptions()

static void handle_gnu_v3_exceptions ( int  tempflag,
std::string &&  except_rx,
const char *  cond_string,
enum exception_event_kind  ex_event,
int  from_tty 
)
static

◆ initialize_throw_catchpoint_ops()

static void initialize_throw_catchpoint_ops ( void  )
static

◆ print_it_exception_catchpoint()

static enum print_stop_action print_it_exception_catchpoint ( bpstat  bs)
static

◆ print_mention_exception_catchpoint()

static void print_mention_exception_catchpoint ( struct breakpoint b)
static

◆ print_one_detail_exception_catchpoint()

static void print_one_detail_exception_catchpoint ( const struct breakpoint b,
struct ui_out uiout 
)
static

◆ print_one_exception_catchpoint()

static void print_one_exception_catchpoint ( struct breakpoint b,
struct bp_location **  last_loc 
)
static

◆ print_recreate_exception_catchpoint()

static void print_recreate_exception_catchpoint ( struct breakpoint b,
struct ui_file fp 
)
static

◆ re_set_exception_catchpoint()

static void re_set_exception_catchpoint ( struct breakpoint self)
static

Variable Documentation

◆ exception_funcs

const struct internalvar_funcs exception_funcs
static
Initial value:
=
{
NULL,
NULL
}
static struct value * compute_exception(struct gdbarch *argc, struct internalvar *var, void *ignore)

Definition at line 513 of file break-catch-throw.c.

Referenced by _initialize_break_catch_throw().

◆ exception_functions

const struct exception_names exception_functions[]
static
Initial value:
=
{
{ "-probe-stap libstdcxx:throw", "__cxa_throw" },
{ "-probe-stap libstdcxx:rethrow", "__cxa_rethrow" },
{ "-probe-stap libstdcxx:catch", "__cxa_begin_catch" }
}

Definition at line 66 of file break-catch-throw.c.

Referenced by re_set_exception_catchpoint().

◆ gnu_v3_exception_catchpoint_ops

struct breakpoint_ops gnu_v3_exception_catchpoint_ops
static