aboutsummaryrefslogtreecommitdiff
path: root/gdb/tracepoint.h
diff options
context:
space:
mode:
authorStan Shebs <shebs@codesourcery.com>2009-03-31 05:08:37 +0000
committerStan Shebs <shebs@codesourcery.com>2009-03-31 05:08:37 +0000
commit1042e4c05807ca36c83ed8882cb624e45ec43757 (patch)
treebd17fac891e42560824e15ec6d346b823d4ba07d /gdb/tracepoint.h
parentadfd7328359958d6ad31521278cc5f44b96ae30c (diff)
downloadgdb-1042e4c05807ca36c83ed8882cb624e45ec43757.zip
gdb-1042e4c05807ca36c83ed8882cb624e45ec43757.tar.gz
gdb-1042e4c05807ca36c83ed8882cb624e45ec43757.tar.bz2
2009-03-30 Stan Shebs <stan@codesourcery.com>
Make tracepoints into a type of breakpoint. * breakpoint.h (enum bptype): Add bp_tracepoint. (struct breakpoint): Add fields step_count, pass_count, actions. (get_tracepoint, get_tracepoint_by_number): Declare. (all_tracepoints): Declare. * breakpoint.c: Include tracepoint.h, readline.h. (ALL_TRACEPOINTS): Move here from tracepoint.c. (tracepoint_count): Ditto. (should_be_inserted): GDB does not insert tracepoints itself. (print_it_typical): Add tracepoint case. (bpstat_what): Ditto. (print_one_breakpoint_location): Ditto, and add printing for pass count, step count, and action list. (user_settable_breakpoint): Add tracepoint case. (allocate_bp_location): Ditto. (set_breakpoint_location_function): Ditto. (disable_breakpoints_in_shlibs): Ditto. (mention): Ditto. (break_command_really): Add argument traceflag, use to choose basic breakpoint type. (break_command_1): Pass extra argument. (set_breakpoint, handle_gnu_v3_exceptions): Ditto. (breakpoint_re_set_one): Add tracepoint case. (disable_command, enable_command): Ditto. (set_tracepoint_count): Move here from tracepoint.c. (trace_command): Move here from tracepoint.c and use break_command_really. (tracepoints_info): Move here from tracepoint.c and call breakpoints_info. (enable_trace_command): Move here from tracepoint.c and call enable_command. (disable_trace_command): Move here from tracepoint.c and call disable_command. (delete_trace_command): Move here from tracepoint.c and call delete_breakpoint. (trace_pass_command): Move here from tracepoint.c. (get_tracepoint_by_number): Ditto. (tracepoint_save_command): Ditto. (get_tracepoint): New function. (all_tracepoints): New function. (_initialize_breakpoint): Move tracepoint init from tracepoint.c, deprecate "enable trace" and "disable trace" commands. * tracepoint.h (struct tracepoint): Remove. (tracepoint_chain): Remove decl. (deprecated_create_tracepoint_hook): Remove decl. (deprecated_delete_tracepoint_hook): Remove decl. (deprecated_modify_tracepoint_hook): Remove decl. (ALL_TRACEPOINTS, ALL_TRACEPOINTS_SAFE): Remove. (free_actions): Update signature. (validate_actionline): Update signature. (end_actions_pseudocommand): Declare. (while_stepping_pseudocommand): Declare. * tracepoint.c: Include breakpoint.h. (tracepoint_chain, tracepoint_count): Remove. (free_actions, make_cleanup_free_actions): Update signature. (trace_command, set_raw_tracepoint): Remove. (trace_mention): Remove. (tracepoints_info): Remove. (tracepoint_operation, map_args_over_tracepoints): Remove. (get_tracepoint_by_number): Remove. (enable_trace_command, disable_trace_command): Remove. (delete_trace_command, trace_pass_command): Remove. (trace_actions_command, read_actions): Update signature. (validate_actionline): Update signature, use bp loc. (encode_actions): Ditto. (download_tracepoint): New function, body of trace_start_command. (trace_start_command): Call it, use all_tracepoints. (tracepoint_save_command): Remove. (tracepoint_dump_command): Use get_tracepoint. (end_actions_pseudocommand): Make globally visible. (while_stepping_pseudocommand): Ditto. (_initialize_tracepoint): Move command definitions to breakpoint.c. doc/ * gdb.texinfo (Tracepoints): Describe tracepoints as a special case of breakpoints. (Enable and Disable Tracepoints): Mention deprecation. (Listing Tracepoints): Update description and example. testsuite/ * gdb.trace/actions.exp: Update to match new info trace format. * gdb.trace/deltrace.exp: Ditto. * gdb.trace/infotrace.exp: Ditto. * gdb.trace/passcount.exp: Ditto. * gdb.trace/save-trace.exp: Ditto. * gdb.trace/while-stepping.exp: Ditto. * gdb.trace/tracecmd.exp: Ditto, plus don't allow pending option. gdbtk/ * generic/gdbtk-bp.c (gdb_actions_command): Update to handle tracepoints as breakpoints. (gdb_get_tracepoint_info): Ditto, plus use get_tracepoint and breakpoint locations. (tracepoint_exists): Ditto, plus use all_tracepoints.
Diffstat (limited to 'gdb/tracepoint.h')
-rw-r--r--gdb/tracepoint.h95
1 files changed, 4 insertions, 91 deletions
diff --git a/gdb/tracepoint.h b/gdb/tracepoint.h
index 171aaae..f43f736 100644
--- a/gdb/tracepoint.h
+++ b/gdb/tracepoint.h
@@ -27,76 +27,6 @@ struct action_line
char *action;
};
-/* The data structure for a tracepoint: */
-
-struct tracepoint
- {
- struct tracepoint *next;
-
- int enabled_p;
-
-#if 0
- /* Type of tracepoint. (MVS FIXME: needed?) */
- enum tptype type;
-
- /* What to do with this tracepoint after we hit it
- MVS FIXME: needed?). */
- enum tpdisp disposition;
-#endif
- /* Number assigned to distinguish tracepoints. */
- int number;
-
- /* Address to trace at, or NULL if not an instruction tracepoint.
- (MVS ?) */
- CORE_ADDR address;
-
- /* Line number of this address.
- Only matters if address is non-NULL. */
- int line_number;
-
- /* Source file name of this address.
- Only matters if address is non-NULL. */
- char *source_file;
-
- /* Number of times this tracepoint should single-step
- and collect additional data. */
- long step_count;
-
- /* Number of times this tracepoint should be hit before
- disabling/ending. */
- int pass_count;
-
- /* Chain of action lines to execute when this tracepoint is hit. */
- struct action_line *actions;
-
- /* Conditional (MVS ?). */
- struct expression *cond;
-
- /* String we used to set the tracepoint (malloc'd).
- Only matters if address is non-NULL. */
- char *addr_string;
-
- /* Language we used to set the tracepoint. */
- enum language language;
-
- /* Input radix we used to set the tracepoint. */
- int input_radix;
-
- /* Count of the number of times this tracepoint was taken, dumped
- with the info, but not used for anything else. Useful for
- seeing how many times you hit a tracepoint prior to the program
- aborting, so you can back up to just before the abort. */
- int hit_count;
-
- /* Thread number for thread-specific tracepoint,
- or -1 if don't care. */
- int thread;
-
- /* BFD section, in case of overlays: no, I don't know if
- tracepoints are really gonna work with overlays. */
- struct obj_section *section;
- };
-
enum actionline_type
{
BADLINE = -1,
@@ -105,35 +35,18 @@ enum actionline_type
STEPPING = 2
};
-
-/* The tracepoint chain of all tracepoints. */
-
-extern struct tracepoint *tracepoint_chain;
-
extern unsigned long trace_running_p;
/* A hook used to notify the UI of tracepoint operations. */
-void (*deprecated_create_tracepoint_hook) (struct tracepoint *);
-void (*deprecated_delete_tracepoint_hook) (struct tracepoint *);
-void (*deprecated_modify_tracepoint_hook) (struct tracepoint *);
void (*deprecated_trace_find_hook) (char *arg, int from_tty);
void (*deprecated_trace_start_stop_hook) (int start, int from_tty);
-struct tracepoint *get_tracepoint_by_number (char **, int, int);
int get_traceframe_number (void);
-void free_actions (struct tracepoint *);
-enum actionline_type validate_actionline (char **, struct tracepoint *);
-
-
-/* Walk the following statement or block through all tracepoints.
- ALL_TRACEPOINTS_SAFE does so even if the statment deletes the
- current breakpoint. */
+void free_actions (struct breakpoint *);
+enum actionline_type validate_actionline (char **, struct breakpoint *);
-#define ALL_TRACEPOINTS(t) for (t = tracepoint_chain; t; t = t->next)
+extern void end_actions_pseudocommand (char *args, int from_tty);
+extern void while_stepping_pseudocommand (char *args, int from_tty);
-#define ALL_TRACEPOINTS_SAFE(t,tmp) \
- for (t = tracepoint_chain; \
- t ? (tmp = t->next, 1) : 0;\
- t = tmp)
#endif /* TRACEPOINT_H */