|
GDB (xrefs)
|
#include "breakpoint.h"#include "memrange.h"#include "gdb_vecs.h"#include <vector>#include <string>Go to the source code of this file.
Classes | |
| struct | traceframe_info |
| struct | trace_state_variable |
| struct | trace_status |
| struct | uploaded_tp |
| struct | uploaded_tsv |
| struct | static_tracepoint_marker |
| struct | memrange |
| class | collection_list |
Typedefs | |
| typedef std::unique_ptr< traceframe_info > | traceframe_info_up |
Enumerations | |
| enum | trace_stop_reason { trace_stop_reason_unknown, trace_never_run, trace_stop_command, trace_buffer_full, trace_disconnected, tracepoint_passcount, tracepoint_error } |
| enum | trace_find_type { tfind_number, tfind_pc, tfind_tp, tfind_range, tfind_outside } |
Variables | |
| char * | default_collect |
| int | trace_regblock_size |
| const char * | stop_reason_names [] |
| void(* | deprecated_trace_find_hook )(char *arg, int from_tty) |
| void(* | deprecated_trace_start_stop_hook )(int start, int from_tty) |
| typedef std::unique_ptr<traceframe_info> traceframe_info_up |
Definition at line 40 of file tracepoint.h.
| enum trace_find_type |
| Enumerator | |
|---|---|
| tfind_number | |
| tfind_pc | |
| tfind_tp | |
| tfind_range | |
| tfind_outside | |
Definition at line 384 of file tracepoint.h.
| enum trace_stop_reason |
| Enumerator | |
|---|---|
| trace_stop_reason_unknown | |
| trace_never_run | |
| trace_stop_command | |
| trace_buffer_full | |
| trace_disconnected | |
| tracepoint_passcount | |
| tracepoint_error | |
Definition at line 77 of file tracepoint.h.
| void check_trace_running | ( | struct trace_status * | ) |
Definition at line 2241 of file tracepoint.c.
References _, error(), and status.
Referenced by mi_cmd_trace_find(), tfind_command_1(), tfind_line_command(), tfind_pc_command(), tfind_range_command(), and tfind_tracepoint_command().
| struct trace_state_variable* create_trace_state_variable | ( | const char * | name | ) |
Definition at line 268 of file tracepoint.c.
References memset(), trace_state_variable::name, name, trace_state_variable::number, and VEC_safe_push.
Referenced by create_tsv_from_upload(), mi_cmd_trace_define_variable(), and trace_variable_command().
| struct tracepoint* create_tracepoint_from_upload | ( | struct uploaded_tp * | utp | ) |
Definition at line 14792 of file breakpoint.c.
References _, uploaded_tp::addr, uploaded_tp::at_string, breakpoint_set_commands(), uploaded_tp::cond, uploaded_tp::cond_string, create_breakpoint(), CREATE_BREAKPOINT_FLAGS_INSERTED, current_language, uploaded_tp::enabled, gdb_assert, get_current_arch(), get_tracepoint(), hex_string(), uploaded_tp::hit_count, breakpoint::hit_count, breakpoint::location, next_cmd, uploaded_tp::number, breakpoint::number, uploaded_tp::pass, pending_break_support, read_command_lines_1(), read_uploaded_action(), string_to_event_location(), this_utp, trace_pass_command(), uploaded_tp::traceframe_usage, tracepoint::traceframe_usage, tracepoint_breakpoint_ops, uploaded_tp::type, VEC_empty, warning(), and xsnprintf().
Referenced by merge_uploaded_tracepoints().
| struct trace_status* current_trace_status | ( | void | ) |
Definition at line 189 of file tracepoint.c.
Referenced by disable_breakpoint(), enable_breakpoint_disp(), enable_disable_bp_num_loc(), mi_cmd_trace_find(), query_if_trace_running(), remote_can_download_tracepoint(), remote_start_remote(), start_tracing(), stop_tracing(), tfile_interp_line(), tfile_open(), tfind_command_1(), tfind_line_command(), tfind_outside_command(), tfind_pc_command(), tfind_range_command(), tfind_tracepoint_command(), trace_save(), trace_status_mi(), tstart_command(), tstatus_command(), tstop_command(), and tvariables_info_1().
| const char* decode_agent_options | ( | const char * | exp, |
| int * | trace_string | ||
| ) |
Definition at line 555 of file tracepoint.c.
References _, error(), get_user_print_options(), value_print_options::print_max, skip_spaces(), and target_supports_string_tracing.
Referenced by agent_eval_command_one(), encode_actions_1(), trace_dump_actions(), and validate_actionline().
| void disconnect_tracing | ( | void | ) |
Definition at line 2094 of file tracepoint.c.
References trace_reset_local_state().
Referenced by detach_command(), disconnect_command(), and quit_force().
| void encode_actions | ( | struct bp_location * | tloc, |
| struct collection_list * | tracepoint_list, | ||
| struct collection_list * | stepping_list | ||
| ) |
Definition at line 1477 of file tracepoint.c.
References bp_location::address, all_tracepoint_actions_and_cleanup(), encode_actions_1(), collection_list::finish(), bp_location::gdbarch, gdbarch_virtual_frame_pointer(), and bp_location::owner.
Referenced by encode_actions_rsp(), and mi_cmd_trace_frame_collected().
| void encode_actions_rsp | ( | struct bp_location * | tloc, |
| std::vector< std::string > * | tdp_actions, | ||
| std::vector< std::string > * | stepping_actions | ||
| ) |
Definition at line 1500 of file tracepoint.c.
References encode_actions(), and collection_list::stringify().
Referenced by remote_download_tracepoint().
| int encode_source_string | ( | int | num, |
| ULONGEST | addr, | ||
| const char * | srctype, | ||
| const char * | src, | ||
| char * | buf, | ||
| int | buf_size | ||
| ) |
Definition at line 2875 of file tracepoint.c.
References _, bin2hex(), error(), and phex_nz().
Referenced by remote_download_command_source(), remote_download_tracepoint(), and tfile_write_uploaded_tp().
| struct trace_state_variable* find_trace_state_variable | ( | const char * | name | ) |
Definition at line 281 of file tracepoint.c.
References trace_state_variable::name, name, and VEC_iterate.
Referenced by create_tsv_from_upload(), find_matching_tsv(), gen_expr(), mi_cmd_trace_define_variable(), trace_variable_command(), and value_of_internalvar().
| struct trace_state_variable* find_trace_state_variable_by_number | ( | int | number | ) |
Definition at line 297 of file tracepoint.c.
References trace_state_variable::number, and VEC_iterate.
Referenced by mi_cmd_trace_frame_collected().
| void free_actions | ( | struct breakpoint * | ) |
| void free_current_marker | ( | void * | arg | ) |
Definition at line 3678 of file tracepoint.c.
References release_static_tracepoint_marker(), and xfree().
Referenced by VEC().
| void free_uploaded_tps | ( | struct uploaded_tp ** | utpp | ) |
Definition at line 3078 of file tracepoint.c.
References uploaded_tp::next, and xfree().
Referenced by merge_uploaded_tracepoints(), and trace_save().
| void free_uploaded_tsvs | ( | struct uploaded_tsv ** | utsvp | ) |
Definition at line 3111 of file tracepoint.c.
References uploaded_tsv::next, and xfree().
Referenced by merge_uploaded_trace_state_variables(), and trace_save().
| struct traceframe_info* get_traceframe_info | ( | void | ) |
Definition at line 4042 of file tracepoint.c.
References target_traceframe_info.
Referenced by mi_cmd_trace_frame_collected(), and traceframe_available_memory().
| struct bp_location* get_traceframe_location | ( | int * | stepping_frame_p | ) |
Definition at line 2771 of file tracepoint.c.
References _, bp_location::address, error(), get_current_regcache(), get_tracepoint(), breakpoint::loc, bp_location::next, regcache::regcache(), and regcache_read_pc().
Referenced by mi_cmd_trace_frame_collected(), and tdump_command().
| int get_traceframe_number | ( | void | ) |
Definition at line 2976 of file tracepoint.c.
Referenced by call_function_by_hand_dummy(), ensure_not_tfind_mode(), get_current_frame(), has_stack_frames(), memory_xfer_partial_1(), mi_cmd_trace_find(), remote_read_bytes(), set_remote_traceframe(), tfile_trace_find(), tfile_xfer_partial(), tfind_1(), tracefile_has_registers(), and tracefile_has_stack().
| int get_tracepoint_number | ( | void | ) |
Definition at line 2982 of file tracepoint.c.
Referenced by tracefile_fetch_registers().
| struct uploaded_tp* get_uploaded_tp | ( | int | num, |
| ULONGEST | addr, | ||
| struct uploaded_tp ** | utpp | ||
| ) |
Definition at line 3057 of file tracepoint.c.
References uploaded_tp::addr, uploaded_tp::next, uploaded_tp::number, and XCNEW.
Referenced by parse_tracepoint_definition().
| struct uploaded_tsv* get_uploaded_tsv | ( | int | num, |
| struct uploaded_tsv ** | utsvp | ||
| ) |
Definition at line 3094 of file tracepoint.c.
References uploaded_tsv::next, uploaded_tsv::number, and XCNEW.
Referenced by parse_tsv_definition().
| struct cleanup* make_cleanup_restore_current_traceframe | ( | void | ) |
Definition at line 3042 of file tracepoint.c.
References do_restore_current_traceframe_cleanup(), make_cleanup_dtor(), restore_current_traceframe_cleanup_dtor(), current_traceframe_cleanup::traceframe_number, and XNEW.
Referenced by fetch_inferior_event().
| void merge_uploaded_trace_state_variables | ( | struct uploaded_tsv ** | utsvp | ) |
Definition at line 3299 of file tracepoint.c.
References _, create_tsv_from_upload(), find_matching_tsv(), free_uploaded_tsvs(), info_verbose, trace_state_variable::name, uploaded_tsv::next, trace_state_variable::number, uploaded_tsv::number, printf_filtered(), and VEC_iterate.
Referenced by remote_start_remote(), and tfile_open().
| void merge_uploaded_tracepoints | ( | struct uploaded_tp ** | utpp | ) |
Definition at line 3176 of file tracepoint.c.
References _, uploaded_tp::addr, create_tracepoint_from_upload(), find_matching_tracepoint_location(), free_uploaded_tps(), bp_location::gdbarch, get_current_arch(), bp_location::inserted, breakpoint::loc, loc, uploaded_tp::next, uploaded_tp::number, breakpoint::number, tracepoint::number_on_target, observer_notify_breakpoint_modified(), bp_location::owner, paddress(), printf_filtered(), VEC(), VEC_free, VEC_iterate, and VEC_safe_push.
Referenced by remote_start_remote(), and tfile_open().
| void parse_static_tracepoint_marker_definition | ( | const char * | line, |
| const char ** | pp, | ||
| struct static_tracepoint_marker * | marker | ||
| ) |
Definition at line 3698 of file tracepoint.c.
References _, static_tracepoint_marker::address, error(), static_tracepoint_marker::extra, static_tracepoint_marker::gdbarch, hex2bin(), static_tracepoint_marker::str_id, target_gdbarch(), unpack_varlen_hex(), and xmalloc().
Referenced by remote_static_tracepoint_marker_at(), and VEC().
| void parse_trace_status | ( | const char * | line, |
| struct trace_status * | ts | ||
| ) |
Definition at line 3352 of file tracepoint.c.
References _, trace_status::buffer_free, trace_status::buffer_size, trace_status::circular_buffer, trace_status::disconnected_tracing, error(), hex2bin(), trace_status::notes, trace_status::running, trace_status::running_known, trace_status::start_time, trace_status::stop_desc, trace_status::stop_reason, stop_reason_names, trace_status::stop_time, trace_status::stopping_tracepoint, trace_buffer_full, trace_disconnected, trace_never_run, trace_stop_command, trace_stop_reason_unknown, trace_status::traceframe_count, trace_status::traceframes_created, tracepoint_error, tracepoint_passcount, unpack_varlen_hex(), trace_status::user_name, xfree(), and xmalloc().
Referenced by remote_get_trace_status(), and tfile_interp_line().
| traceframe_info_up parse_traceframe_info | ( | const char * | tframe_info | ) |
Definition at line 4023 of file tracepoint.c.
References _, gdb_xml_parse_quick(), and traceframe_info_elements.
Referenced by remote_traceframe_info().
| void parse_tracepoint_definition | ( | const char * | line, |
| struct uploaded_tp ** | utpp | ||
| ) |
Definition at line 3535 of file tracepoint.c.
References _, uploaded_tp::addr, uploaded_tp::at_string, bp_fast_tracepoint, bp_static_tracepoint, bp_tracepoint, uploaded_tp::cond, uploaded_tp::cond_string, uploaded_tp::enabled, get_uploaded_tp(), hex2bin(), uploaded_tp::orig_size, parse_tracepoint_status(), uploaded_tp::pass, startswith(), uploaded_tp::step, type, uploaded_tp::type, unpack_varlen_hex(), VEC_safe_push, warning(), and xmalloc().
Referenced by remote_upload_tracepoints(), and tfile_interp_line().
| void parse_tracepoint_status | ( | const char * | p, |
| struct breakpoint * | tp, | ||
| struct uploaded_tp * | utp | ||
| ) |
Definition at line 3512 of file tracepoint.c.
References bp, uploaded_tp::hit_count, breakpoint::hit_count, uploaded_tp::traceframe_usage, tracepoint::traceframe_usage, and unpack_varlen_hex().
Referenced by parse_tracepoint_definition(), and remote_get_tracepoint_status().
| void parse_tsv_definition | ( | const char * | line, |
| struct uploaded_tsv ** | utsvp | ||
| ) |
Definition at line 3651 of file tracepoint.c.
References uploaded_tsv::builtin, get_uploaded_tsv(), hex2bin(), uploaded_tsv::initial_value, uploaded_tsv::name, and unpack_varlen_hex().
Referenced by remote_upload_trace_state_variables(), and tfile_interp_line().
| void query_if_trace_running | ( | int | from_tty | ) |
Definition at line 2053 of file tracepoint.c.
References _, current_trace_status(), trace_status::disconnected_tracing, error(), process_tracepoint_on_disconnect(), query(), trace_status::running, and target_get_trace_status.
Referenced by detach_command(), disconnect_command(), and quit_command().
| void release_static_tracepoint_marker | ( | struct static_tracepoint_marker * | ) |
Definition at line 3736 of file tracepoint.c.
References static_tracepoint_marker::str_id, and xfree().
Referenced by decode_static_tracepoint_spec(), free_current_marker(), info_static_tracepoint_markers_command(), init_breakpoint_sal(), update_static_tracepoint(), and VEC().
| void save_trace_state_variables | ( | struct ui_file * | fp | ) |
Definition at line 503 of file tracepoint.c.
References fprintf_unfiltered(), trace_state_variable::initial_value, trace_state_variable::name, plongest(), and VEC_iterate.
Referenced by save_breakpoints().
| void set_current_traceframe | ( | int | num | ) |
Definition at line 2991 of file tracepoint.c.
References _, clear_traceframe_info(), registers_changed(), set_traceframe_num(), target_trace_find, tfind_number, and warning().
Referenced by do_restore_current_traceframe_cleanup(), fetch_inferior_event(), and tfind_1().
| void start_tracing | ( | const char * | notes | ) |
Definition at line 1572 of file tracepoint.c.
References _, bp_enabled, bp_fast_tracepoint, current_trace_status(), breakpoint::enable_state, error(), gdb_assert, breakpoint::loc, loc, may_insert_fast_tracepoints, may_insert_tracepoints, breakpoint::number, tracepoint::number_on_target, observer_notify_breakpoint_modified(), trace_status::running, target_download_trace_state_variable, target_download_tracepoint, target_set_circular_trace_buffer, target_set_disconnected_tracing, target_set_trace_buffer_size, target_set_trace_notes, target_supports_enable_disable_tracepoint, target_trace_init, target_trace_set_readonly_regions, target_trace_start, trace_reset_local_state(), breakpoint::type, VEC(), VEC_free, VEC_iterate, VEC_length, and warning().
Referenced by mi_cmd_trace_start(), and tstart_command().
| void stop_tracing | ( | const char * | notes | ) |
Definition at line 1730 of file tracepoint.c.
References _, bp_fast_tracepoint, current_trace_status(), breakpoint::loc, loc, may_insert_fast_tracepoints, may_insert_tracepoints, trace_status::running, target_set_trace_notes, target_trace_stop, breakpoint::type, VEC(), VEC_free, VEC_iterate, and warning().
Referenced by mi_cmd_trace_stop(), and tstop_command().
| void tfind_1 | ( | enum trace_find_type | type, |
| int | num, | ||
| CORE_ADDR | addr1, | ||
| CORE_ADDR | addr2, | ||
| int | from_tty | ||
| ) |
Definition at line 2105 of file tracepoint.c.
References _, current_uiout, do_displays(), error(), ui_out::field_int(), ui_out::field_string(), frame_id_eq(), get_current_frame(), get_frame_id(), get_selected_frame(), get_traceframe_number(), get_tracepoint_by_number_on_target(), has_stack_frames(), info_verbose, ui_out::is_mi_like_p(), null_frame_id, breakpoint::number, observer_notify_traceframe_changed(), print_stack_frame(), printf_filtered(), printf_unfiltered(), reinit_frame_cache(), set_current_traceframe(), set_traceframe_context(), set_tracepoint_num(), SRC_AND_LOC, SRC_LINE, target_dcache_invalidate(), target_trace_find, tfind_command(), and tfind_number.
Referenced by mi_cmd_trace_find(), tfind_command_1(), tfind_line_command(), tfind_outside_command(), tfind_pc_command(), tfind_range_command(), and tfind_tracepoint_command().
| void trace_reset_local_state | ( | void | ) |
Definition at line 1563 of file tracepoint.c.
References clear_traceframe_info(), set_traceframe_context(), set_traceframe_num(), and set_tracepoint_num().
Referenced by disconnect_tracing(), remote_close(), start_tracing(), and tfile_close().
| void trace_save_ctf | ( | const char * | dirname, |
| int | target_does_save | ||
| ) |
Definition at line 372 of file tracefile.c.
References ctf_trace_file_writer_new(), do_cleanups(), make_cleanup(), trace_file_writer_xfree(), and trace_save().
Referenced by mi_cmd_trace_save().
| void trace_save_tfile | ( | const char * | filename, |
| int | target_does_save | ||
| ) |
Definition at line 358 of file tracefile.c.
References do_cleanups(), make_cleanup(), tfile_trace_file_writer_new(), trace_file_writer_xfree(), and trace_save().
Referenced by mi_cmd_trace_save().
| void trace_status_mi | ( | int | on_stop | ) |
Definition at line 1939 of file tracepoint.c.
References trace_status::buffer_free, trace_status::buffer_size, trace_status::circular_buffer, current_trace_status(), current_uiout, trace_status::disconnected_tracing, ui_out::field_int(), ui_out::field_string(), trace_status::filename, gdb_assert, trace_status::notes, trace_status::running, trace_status::running_known, trace_status::start_time, status, trace_status::stop_desc, trace_status::stop_reason, trace_status::stop_time, trace_status::stopping_tracepoint, target_get_trace_status, trace_buffer_full, trace_disconnected, trace_stop_command, trace_stop_reason_unknown, trace_status::traceframe_count, trace_status::traceframes_created, tracepoint_error, tracepoint_passcount, trace_status::user_name, and xsnprintf().
Referenced by mi_cmd_trace_status(), and mi_cmd_trace_stop().
| int traceframe_available_memory | ( | std::vector< mem_range > * | result, |
| CORE_ADDR | memaddr, | ||
| ULONGEST | len | ||
| ) |
Definition at line 4057 of file tracepoint.c.
References get_traceframe_info(), mem_range::length, mem_ranges_overlap(), traceframe_info::memory, normalize_mem_ranges(), and mem_range::start.
Referenced by mi_cmd_trace_frame_collected(), and remote_read_bytes().
| void tvariables_info_1 | ( | void | ) |
Definition at line 438 of file tracepoint.c.
References _, current_trace_status(), current_uiout, ui_out::field_string(), trace_state_variable::initial_value, ui_out::is_mi_like_p(), trace_state_variable::name, name, trace_state_variable::number, plongest(), printf_filtered(), trace_status::running, string, ui_out::table_body(), ui_out::table_header(), target_get_trace_state_variable_value, ui_out::text(), ui_left, trace_state_variable::value, trace_state_variable::value_known, VEC_iterate, and VEC_length.
Referenced by info_tvariables_command(), and mi_cmd_trace_list_variables().
| void validate_actionline | ( | const char * | , |
| struct breakpoint * | |||
| ) |
Definition at line 643 of file tracepoint.c.
References _, bp_location::address, ax_reqs(), block_for_pc(), cmd_cfunc_eq(), cmdlist, collect_pseudocommand(), decode_agent_options(), end_actions_pseudocommand(), error(), gen_eval_for_expr(), gen_trace_for_expr(), breakpoint::loc, loc, LOC_CONST, LOC_OPTIMIZED_OUT, lookup_cmd(), MAX_AGENT_EXPR_LEN, bp_location::next, parse_exp_1(), plongest(), QUIT, report_agent_reqs_errors(), skip_spaces(), tracepoint::step_count, SYMBOL_CLASS, SYMBOL_PRINT_NAME, SYMBOL_VALUE, teval_pseudocommand(), and while_stepping_pseudocommand().
Referenced by all_tracepoint_actions_and_cleanup(), check_tracepoint_command(), and validate_commands_for_breakpoint().
| void validate_trace_state_variable_name | ( | const char * | name | ) |
Definition at line 333 of file tracepoint.c.
References _, error(), and name.
Referenced by mi_cmd_trace_define_variable(), and trace_variable_command().
| char* default_collect |
| void(* deprecated_trace_find_hook) (char *arg, int from_tty) |
Definition at line 82 of file tracepoint.c.
| void(* deprecated_trace_start_stop_hook) (int start, int from_tty) |
Definition at line 83 of file tracepoint.c.
| const char* stop_reason_names[] |
Referenced by parse_trace_status(), and tfile_write_status().
| int trace_regblock_size |
Definition at line 396 of file tracefile-tfile.c.
Referenced by remote_get_trace_status(), tfile_fetch_registers(), tfile_interp_line(), tfile_open(), trace_save(), and traceframe_walk_blocks().
1.8.14