|
GDB (xrefs)
|
#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_line > | parse_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_probe > | collect_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 value * | probe_safe_evaluate_at_pc (struct frame_info *frame, unsigned n) |
| const struct static_probe_ops * | probe_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 value * | compute_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 |
| void _initialize_probe | ( | void | ) |
Definition at line 885 of file probe.c.
References _, add_cmd(), all_static_probe_ops, class_breakpoint, class_info, create_internalvar_type_lazy(), disable_probes_command(), disablelist, enable_probes_command(), enablelist, info_probes_cmdlist_get(), info_probes_command(), and probe_funcs.
|
static |
Definition at line 284 of file probe.c.
References _, ALL_OBJFILES, gdb::optional< T >::emplace(), compiled_regex::exec(), objfile::objfile(), objfile_name(), objfile::sf, sym_probe_fns::sym_get_probes, and sym_fns::sym_probe_fns.
Referenced by disable_probes_command(), enable_probes_command(), and info_probes_for_spops().
|
static |
Definition at line 338 of file probe.c.
References probe::get_address(), probe::get_name(), probe::get_provider(), bound_probe::objfile, objfile_name(), and bound_probe::prob.
Referenced by info_probes_for_spops().
|
static |
Definition at line 840 of file probe.c.
References _, ax_const_l(), axs_rvalue, builtin_type::builtin_int, builtin_type(), probe::compile_to_ax(), core_addr_to_string(), error(), find_probe_by_pc(), gdb_assert, agent_expr::gdbarch, probe::get_argument_count(), get_selected_frame(), bound_probe::prob, agent_expr::scope, and value::type.
|
static |
Definition at line 809 of file probe.c.
References _, core_addr_to_string(), error(), probe::evaluate_argument(), find_probe_by_pc(), gdb_assert, probe::get_argument_count(), get_frame_pc(), get_selected_frame(), bound_probe::prob, and value_from_longest().
|
static |
Definition at line 658 of file probe.c.
References _, static_probe_ops::can_enable(), collect_probes(), current_uiout, probe::disable(), probe::get_name(), probe::get_provider(), probe::get_static_ops(), parse_probe_linespec(), and string.
Referenced by _initialize_probe().
|
static |
Definition at line 623 of file probe.c.
References _, static_probe_ops::can_enable(), collect_probes(), current_uiout, probe::enable(), probe::get_name(), probe::get_provider(), probe::get_static_ops(), parse_probe_linespec(), and string.
Referenced by _initialize_probe().
|
static |
Definition at line 458 of file probe.c.
References probe::get_static_ops().
Referenced by info_probes_for_spops().
| struct bound_probe find_probe_by_pc | ( | CORE_ADDR | pc | ) |
Definition at line 247 of file probe.c.
References ALL_OBJFILES, bound_probe::objfile, bound_probe::prob, objfile::sect_index_text, objfile::sf, sym_probe_fns::sym_get_probes, and sym_fns::sym_probe_fns.
Referenced by check_exception_resume(), compile_probe_arg(), compute_probe_arg(), fetch_probe_arguments(), and probe_safe_evaluate_at_pc().
| std::vector<probe *> find_probes_in_objfile | ( | struct objfile * | objfile, |
| const char * | provider, | ||
| const char * | name | ||
| ) |
Definition at line 220 of file probe.c.
References name, objfile::sf, sym_probe_fns::sym_get_probes, and sym_fns::sym_probe_fns.
Referenced by create_exception_master_breakpoint(), create_longjmp_master_breakpoint(), and svr4_create_solib_event_breakpoints().
|
static |
Definition at line 360 of file probe.c.
References current_uiout, gdb_assert, static_probe_ops::gen_info_probes_table_header(), probe::gen_info_probes_table_values(), probe::get_static_ops(), and ui_left.
Referenced by info_probes_for_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().
| struct cmd_list_element** info_probes_cmdlist_get | ( | void | ) |
Definition at line 782 of file probe.c.
References _, add_prefix_cmd(), class_info, info_probes_command(), and infolist.
Referenced by _initialize_dtrace_probe(), _initialize_probe(), and _initialize_stap_probe().
|
static |
Definition at line 615 of file probe.c.
References info_probes_for_spops().
Referenced by _initialize_probe(), and info_probes_cmdlist_get().
| void info_probes_for_spops | ( | const char * | arg, |
| int | from_tty, | ||
| const static_probe_ops * | spops | ||
| ) |
Definition at line 489 of file probe.c.
References _, all_static_probe_ops, collect_probes(), compare_probes(), current_uiout, exists_probe_with_spops(), gdbarch_addr_bit(), gen_ui_out_table_header_info(), get_current_arch(), probe::get_gdbarch(), probe::get_name(), get_number_extra_fields(), probe::get_provider(), probe::get_relocated_address(), probe::get_static_ops(), objfile_name(), parse_probe_linespec(), print_ui_out_info(), print_ui_out_not_applicables(), string, static_probe_ops::type_name(), and ui_left.
Referenced by info_probes_command(), info_probes_dtrace_command(), and info_probes_stap_command().
|
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().
| std::vector<symtab_and_line> parse_probes | ( | const struct event_location * | location, |
| struct program_space * | search_pspace, | ||
| struct linespec_result * | canonical | ||
| ) |
Definition at line 119 of file probe.c.
References _, ALL_PSPACES, error(), gdb_assert, get_probe_location(), linespec_result::location, name, new_probe_location(), NOT_FOUND_ERROR, parse_probes_in_pspace(), linespec_result::pre_expanded, probe_linespec_to_static_ops(), PROBE_LOCATION, skip_spaces(), skip_to_space(), linespec_result::special_display, string, and throw_error().
Referenced by bkpt_probe_create_sals_from_location(), bkpt_probe_decode_location(), and re_set_exception_catchpoint().
|
static |
Definition at line 69 of file probe.c.
References ALL_PSPACE_OBJFILES, symtab_and_line::explicit_pc, find_pc_overlay(), name, objfile::objfile(), symtab_and_line::objfile, objfile_name(), symtab_and_line::pc, symtab_and_line::prob, symtab_and_line::pspace, symtab_and_line::section, objfile::sf, sym_probe_fns::sym_get_probes, and sym_fns::sym_probe_fns.
Referenced by parse_probes().
|
static |
Definition at line 421 of file probe.c.
References current_uiout, info_probe_column::field_name, gdb_assert, static_probe_ops::gen_info_probes_table_header(), probe::gen_info_probes_table_values(), and probe::get_static_ops().
Referenced by info_probes_for_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().
| int probe_is_linespec_by_keyword | ( | const char ** | linespecp, |
| const char *const * | keywords | ||
| ) |
Definition at line 724 of file probe.c.
Referenced by any_static_probe_ops::is_linespec(), dtrace_static_probe_ops::is_linespec(), and stap_static_probe_ops::is_linespec().
| 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().
| struct value* probe_safe_evaluate_at_pc | ( | struct frame_info * | frame, |
| unsigned | n | ||
| ) |
Definition at line 693 of file probe.c.
References probe::evaluate_argument(), find_probe_by_pc(), probe::get_argument_count(), and get_frame_pc().
Referenced by insert_exception_resume_from_probe(), and process_event_stop_test().
| std::vector<const static_probe_ops *> all_static_probe_ops |
Definition at line 882 of file probe.c.
Referenced by _initialize_dtrace_probe(), _initialize_probe(), _initialize_stap_probe(), elf_get_probes(), info_probes_for_spops(), and probe_linespec_to_static_ops().
|
static |
Definition at line 874 of file probe.c.
Referenced by _initialize_probe().
1.8.14