aboutsummaryrefslogtreecommitdiff
path: root/gdb/tracepoint.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/tracepoint.c')
-rw-r--r--gdb/tracepoint.c36
1 files changed, 28 insertions, 8 deletions
diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c
index f098541..2b81911 100644
--- a/gdb/tracepoint.c
+++ b/gdb/tracepoint.c
@@ -733,18 +733,24 @@ static char *parse_and_eval_memrange PARAMS ((char *,
static void
end_actions_pseudocommand (args, from_tty)
+ char *args;
+ int from_tty;
{
error ("This command cannot be used at the top level.");
}
static void
while_stepping_pseudocommand (args, from_tty)
+ char *args;
+ int from_tty;
{
error ("This command can only be used in a tracepoint actions list.");
}
static void
collect_pseudocommand (args, from_tty)
+ char *args;
+ int from_tty;
{
error ("This command can only be used in a tracepoint actions list.");
}
@@ -884,6 +890,9 @@ validate_actionline (line, t)
if (*p == '\0') /* empty line: just prompt for another line. */
return BADLINE;
+ if (*p == '#') /* comment line */
+ return GENERIC;
+
c = lookup_cmd (&p, cmdlist, "", -1, 1);
if (c == 0)
{
@@ -1130,7 +1139,9 @@ memrange_sortmerge (memranges)
memranges->list[b].start - memranges->list[a].end <=
MAX_REGISTER_VIRTUAL_SIZE)
{
- memranges->list[a].end = memranges->list[b].end;
+ /* memrange b starts before memrange a ends; merge them. */
+ if (memranges->list[b].end > memranges->list[a].end)
+ memranges->list[a].end = memranges->list[b].end;
continue; /* next b, same a */
}
a++; /* next a */
@@ -1405,6 +1416,9 @@ encode_actions (t, tdp_actions, step_count, stepping_actions)
while (isspace (*action_exp))
action_exp++;
+ if (*action_exp == '#') /* comment line */
+ return;
+
cmd = lookup_cmd (&action_exp, cmdlist, "", -1, 1);
if (cmd == 0)
error ("Bad action list item: %s", action_exp);
@@ -2106,13 +2120,16 @@ tracepoint_save_command (args, from_tty)
actionline++;
fprintf (fp, "%s%s\n", indent, actionline);
- cmd = lookup_cmd (&actionline, cmdlist, "", -1, 1);
- if (cmd == 0)
- error ("Bad action list item: %s", actionline);
- if (cmd->function.cfunc == while_stepping_pseudocommand)
- indent = i2;
- else if (cmd->function.cfunc == end_actions_pseudocommand)
- indent = i1;
+ if (*actionline != '#') /* skip for comment lines */
+ {
+ cmd = lookup_cmd (&actionline, cmdlist, "", -1, 1);
+ if (cmd == 0)
+ error ("Bad action list item: %s", actionline);
+ if (cmd->function.cfunc == while_stepping_pseudocommand)
+ indent = i2;
+ else if (cmd->function.cfunc == end_actions_pseudocommand)
+ indent = i1;
+ }
}
}
}
@@ -2316,6 +2333,9 @@ trace_dump_command (args, from_tty)
/* The collection actions to be done while stepping are
bracketed by the commands "while-stepping" and "end". */
+ if (*action_exp == '#') /* comment line */
+ continue;
+
cmd = lookup_cmd (&action_exp, cmdlist, "", -1, 1);
if (cmd == 0)
error ("Bad action list item: %s", action_exp);