GDB (xrefs)
Typedefs | Functions | Variables
/tmp/gdb-7.10/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 <ctype.h>

Go to the source code of this file.

Typedefs

typedef struct bound_probe bound_probe_s
 

Functions

 DEF_VEC_O (bound_probe_s)
 
struct symtabs_and_lines parse_probes (char **argptr, struct linespec_result *canonical)
 
 VEC (probe_p)
 
struct bound_probe find_probe_by_pc (CORE_ADDR pc)
 
static VEC (bound_probe_s)
 
static int compare_probes (const void *a, const void *b)
 
static void gen_ui_out_table_header_info (VEC(bound_probe_s)*probes, const struct probe_ops *p)
 
static void print_ui_out_not_applicables (const struct probe_ops *pops)
 
static void print_ui_out_info (struct probe *probe)
 
static int get_number_extra_fields (const struct probe_ops *pops)
 
static int exists_probe_with_pops (VEC(bound_probe_s)*probes, const struct probe_ops *pops)
 
static void parse_probe_linespec (const char *str, char **provider, char **probe_name, char **objname)
 
void info_probes_for_ops (const char *arg, int from_tty, const struct probe_ops *pops)
 
static void info_probes_command (char *arg, int from_tty)
 
static void enable_probes_command (char *arg, int from_tty)
 
static void disable_probes_command (char *arg, int from_tty)
 
CORE_ADDR get_probe_address (struct probe *probe, struct objfile *objfile)
 
unsigned get_probe_argument_count (struct probe *probe, struct frame_info *frame)
 
int can_evaluate_probe_arguments (struct probe *probe)
 
struct valueevaluate_probe_argument (struct probe *probe, unsigned n, struct frame_info *frame)
 
struct valueprobe_safe_evaluate_at_pc (struct frame_info *frame, unsigned n)
 
const struct probe_opsprobe_linespec_to_ops (const char **linespecp)
 
int probe_is_linespec_by_keyword (const char **linespecp, const char *const *keywords)
 
static int probe_any_is_linespec (const char **linespecp)
 
static void probe_any_get_probes (VEC(probe_p)**probesp, struct objfile *objfile)
 
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)
 
 VEC (probe_ops_cp)
 

Variables

const struct probe_ops probe_ops_any
 
static const struct internalvar_funcs probe_funcs
 

Typedef Documentation

typedef struct bound_probe bound_probe_s

Definition at line 38 of file probe.c.

Function Documentation

int can_evaluate_probe_arguments ( struct probe probe)
static int compare_probes ( const void *  a,
const void *  b 
)
static
static void compile_probe_arg ( struct internalvar ivar,
struct agent_expr expr,
struct axs_value value,
void *  data 
)
static
static struct value* compute_probe_arg ( struct gdbarch arch,
struct internalvar ivar,
void *  data 
)
static
DEF_VEC_O ( bound_probe_s  )
static void disable_probes_command ( char *  arg,
int  from_tty 
)
static
static void enable_probes_command ( char *  arg,
int  from_tty 
)
static
struct value* evaluate_probe_argument ( struct probe probe,
unsigned  n,
struct frame_info frame 
)
static int exists_probe_with_pops ( VEC(bound_probe_s)*  probes,
const struct probe_ops pops 
)
static

Definition at line 517 of file probe.c.

References probe::pops, bound_probe::probe, and VEC_iterate.

Referenced by info_probes_for_ops().

struct bound_probe find_probe_by_pc ( CORE_ADDR  pc)
static void gen_ui_out_table_header_info ( VEC(bound_probe_s)*  probes,
const struct probe_ops p 
)
static
static int get_number_extra_fields ( const struct probe_ops pops)
static
CORE_ADDR get_probe_address ( struct probe probe,
struct objfile objfile 
)
unsigned get_probe_argument_count ( struct probe probe,
struct frame_info frame 
)
struct cmd_list_element** info_probes_cmdlist_get ( void  )

Definition at line 909 of file probe.c.

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

Referenced by _initialize_dtrace_probe(), and _initialize_stap_probe().

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

Definition at line 693 of file probe.c.

References info_probes_for_ops().

Referenced by info_probes_cmdlist_get().

void info_probes_for_ops ( const char *  arg,
int  from_tty,
const struct probe_ops pops 
)
static void parse_probe_linespec ( const char *  str,
char **  provider,
char **  probe_name,
char **  objname 
)
static

Definition at line 534 of file probe.c.

References extract_arg_const().

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

struct symtabs_and_lines parse_probes ( char **  argptr,
struct linespec_result canonical 
)
static void print_ui_out_info ( struct probe probe)
static
static void print_ui_out_not_applicables ( const struct probe_ops pops)
static
static void probe_any_get_probes ( VEC(probe_p)**  probesp,
struct objfile objfile 
)
static

Definition at line 893 of file probe.c.

static int probe_any_is_linespec ( const char **  linespecp)
static

Definition at line 883 of file probe.c.

References probe_is_linespec_by_keyword().

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

Definition at line 860 of file probe.c.

References len.

Referenced by dtrace_probe_is_linespec(), probe_any_is_linespec(), and stap_probe_is_linespec().

const struct probe_ops* probe_linespec_to_ops ( const char **  linespecp)

Definition at line 845 of file probe.c.

References probe_ops::is_linespec, and VEC_iterate.

Referenced by break_command_1(), parse_probes(), and trace_command().

struct value* probe_safe_evaluate_at_pc ( struct frame_info frame,
unsigned  n 
)
VEC ( probe_p  )
static VEC ( bound_probe_s  )
static
VEC ( probe_ops_cp  )

Definition at line 1011 of file probe.c.

Variable Documentation

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:968
static struct value * compute_probe_arg(struct gdbarch *arch, struct internalvar *ivar, void *data)
Definition: probe.c:936

Definition at line 1003 of file probe.c.

const struct probe_ops probe_ops_any
Initial value:
=
{
}
static void probe_any_get_probes(VEC(probe_p)**probesp, struct objfile *objfile)
Definition: probe.c:893
static int probe_any_is_linespec(const char **linespecp)
Definition: probe.c:883

Definition at line 900 of file probe.c.

Referenced by parse_probes().