GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Functions | Variables
/tmp/gdb-13.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 "gdbsupport/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 "gdbsupport/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 location_spec *locspec, 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 (frame_info_ptr 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 ()
 

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 ( )

Definition at line 876 of file probe.c.

Referenced by initialize_all_files().

◆ 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 452 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 443 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  )

Definition at line 775 of file probe.c.

References add_prefix_cmd(), class_info, info_probes_command(), and infolist.

◆ info_probes_command()

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

Definition at line 608 of file probe.c.

References info_probes_for_spops().

Referenced by 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 466 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 location_spec locspec,
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 402 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 705 of file probe.c.

References all_static_probe_ops.

Referenced by parse_probes(), and string_to_location_spec_basic().

◆ probe_safe_evaluate_at_pc()

struct value * probe_safe_evaluate_at_pc ( frame_info_ptr  frame,
unsigned  n 
)

Variable Documentation

◆ all_static_probe_ops

std::vector<const static_probe_ops *> all_static_probe_ops

Definition at line 872 of file probe.c.

Referenced by elf_get_probes(), info_probes_for_spops(), and probe_linespec_to_static_ops().

◆ any_static_probe_ops

Definition at line 63 of file probe.c.

◆ probe_funcs

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

Definition at line 865 of file probe.c.