GDB (xrefs)
Classes | Functions | Variables
/tmp/gdb-8.1/gdb/probe.c File Reference
#include "defs.h"
#include "probe.h"
#include "command.h"
#include "cli/cli-cmds.h"
#include "cli/cli-utils.h"
#include "objfiles.h"
#include "symtab.h"
#include "progspace.h"
#include "filenames.h"
#include "linespec.h"
#include "gdb_regex.h"
#include "frame.h"
#include "arch-utils.h"
#include "value.h"
#include "ax.h"
#include "ax-gdb.h"
#include "location.h"
#include <ctype.h>
#include <algorithm>
#include "common/gdb_optional.h"

Go to the source code of this file.

Classes

class  any_static_probe_ops
 

Functions

static void parse_probes_in_pspace (const static_probe_ops *spops, struct program_space *search_pspace, const char *objfile_namestr, const char *provider, const char *name, std::vector< symtab_and_line > *result)
 
std::vector< symtab_and_lineparse_probes (const struct event_location *location, struct program_space *search_pspace, struct linespec_result *canonical)
 
std::vector< probe * > find_probes_in_objfile (struct objfile *objfile, const char *provider, const char *name)
 
struct bound_probe find_probe_by_pc (CORE_ADDR pc)
 
static std::vector< bound_probecollect_probes (const std::string &objname, const std::string &provider, const std::string &probe_name, const static_probe_ops *spops)
 
static bool compare_probes (const bound_probe &a, const bound_probe &b)
 
static void gen_ui_out_table_header_info (const std::vector< bound_probe > &probes, const static_probe_ops *spops)
 
static void print_ui_out_not_applicables (const static_probe_ops *spops)
 
static void print_ui_out_info (probe *probe)
 
static int get_number_extra_fields (const static_probe_ops *spops)
 
static bool exists_probe_with_spops (const std::vector< bound_probe > &probes, const static_probe_ops *spops)
 
static void parse_probe_linespec (const char *str, std::string *provider, std::string *probe_name, std::string *objname)
 
void info_probes_for_spops (const char *arg, int from_tty, const static_probe_ops *spops)
 
static void info_probes_command (const char *arg, int from_tty)
 
static void enable_probes_command (const char *arg, int from_tty)
 
static void disable_probes_command (const char *arg, int from_tty)
 
struct valueprobe_safe_evaluate_at_pc (struct frame_info *frame, unsigned n)
 
const struct static_probe_opsprobe_linespec_to_static_ops (const char **linespecp)
 
int probe_is_linespec_by_keyword (const char **linespecp, const char *const *keywords)
 
struct cmd_list_element ** info_probes_cmdlist_get (void)
 
static struct valuecompute_probe_arg (struct gdbarch *arch, struct internalvar *ivar, void *data)
 
static void compile_probe_arg (struct internalvar *ivar, struct agent_expr *expr, struct axs_value *value, void *data)
 
void _initialize_probe (void)
 

Variables

const any_static_probe_ops any_static_probe_ops
 
static const struct internalvar_funcs probe_funcs
 
std::vector< const static_probe_ops * > all_static_probe_ops
 

Function Documentation

◆ _initialize_probe()

void _initialize_probe ( void  )

◆ collect_probes()

static std::vector<bound_probe> collect_probes ( const std::string objname,
const std::string provider,
const std::string probe_name,
const static_probe_ops spops 
)
static

◆ compare_probes()

static bool compare_probes ( const bound_probe a,
const bound_probe b 
)
static

◆ compile_probe_arg()

static void compile_probe_arg ( struct internalvar ivar,
struct agent_expr expr,
struct axs_value value,
void *  data 
)
static

◆ compute_probe_arg()

static struct value* compute_probe_arg ( struct gdbarch arch,
struct internalvar ivar,
void *  data 
)
static

◆ disable_probes_command()

static void disable_probes_command ( const char *  arg,
int  from_tty 
)
static

◆ enable_probes_command()

static void enable_probes_command ( const char *  arg,
int  from_tty 
)
static

◆ exists_probe_with_spops()

static bool exists_probe_with_spops ( const std::vector< bound_probe > &  probes,
const static_probe_ops spops 
)
static

Definition at line 458 of file probe.c.

References probe::get_static_ops().

Referenced by info_probes_for_spops().

◆ find_probe_by_pc()

struct bound_probe find_probe_by_pc ( CORE_ADDR  pc)

◆ find_probes_in_objfile()

std::vector<probe *> find_probes_in_objfile ( struct objfile objfile,
const char *  provider,
const char *  name 
)

◆ gen_ui_out_table_header_info()

static void gen_ui_out_table_header_info ( const std::vector< bound_probe > &  probes,
const static_probe_ops spops 
)
static

◆ get_number_extra_fields()

static int get_number_extra_fields ( const static_probe_ops spops)
static

Definition at line 449 of file probe.c.

References static_probe_ops::gen_info_probes_table_header().

Referenced by info_probes_for_spops().

◆ info_probes_cmdlist_get()

struct cmd_list_element** info_probes_cmdlist_get ( void  )

◆ info_probes_command()

static void info_probes_command ( const char *  arg,
int  from_tty 
)
static

Definition at line 615 of file probe.c.

References info_probes_for_spops().

Referenced by _initialize_probe(), and info_probes_cmdlist_get().

◆ info_probes_for_spops()

void info_probes_for_spops ( const char *  arg,
int  from_tty,
const static_probe_ops spops 
)

◆ parse_probe_linespec()

static void parse_probe_linespec ( const char *  str,
std::string provider,
std::string probe_name,
std::string objname 
)
static

Definition at line 472 of file probe.c.

References extract_arg().

Referenced by disable_probes_command(), enable_probes_command(), and info_probes_for_spops().

◆ parse_probes()

std::vector<symtab_and_line> parse_probes ( const struct event_location location,
struct program_space search_pspace,
struct linespec_result canonical 
)

◆ parse_probes_in_pspace()

static void parse_probes_in_pspace ( const static_probe_ops spops,
struct program_space search_pspace,
const char *  objfile_namestr,
const char *  provider,
const char *  name,
std::vector< symtab_and_line > *  result 
)
static

◆ print_ui_out_info()

static void print_ui_out_info ( probe probe)
static

◆ print_ui_out_not_applicables()

static void print_ui_out_not_applicables ( const static_probe_ops spops)
static

Definition at line 408 of file probe.c.

References _, current_uiout, and static_probe_ops::gen_info_probes_table_header().

Referenced by info_probes_for_spops().

◆ probe_is_linespec_by_keyword()

int probe_is_linespec_by_keyword ( const char **  linespecp,
const char *const *  keywords 
)

◆ probe_linespec_to_static_ops()

const struct static_probe_ops* probe_linespec_to_static_ops ( const char **  linespecp)

Definition at line 712 of file probe.c.

References all_static_probe_ops.

Referenced by parse_probes(), and string_to_event_location_basic().

◆ probe_safe_evaluate_at_pc()

struct value* probe_safe_evaluate_at_pc ( struct frame_info frame,
unsigned  n 
)

Variable Documentation

◆ all_static_probe_ops

std::vector<const static_probe_ops *> all_static_probe_ops

◆ any_static_probe_ops

Definition at line 63 of file probe.c.

◆ probe_funcs

const struct internalvar_funcs probe_funcs
static
Initial value:
=
{
NULL
}
static void compile_probe_arg(struct internalvar *ivar, struct agent_expr *expr, struct axs_value *value, void *data)
Definition: probe.c:840
static struct value * compute_probe_arg(struct gdbarch *arch, struct internalvar *ivar, void *data)
Definition: probe.c:809

Definition at line 874 of file probe.c.

Referenced by _initialize_probe().