sim: Clarify the difference between tracing and debugging

This patch changes the name the command-line options related to debug
output to all start with "debug" rather than being a mix of that and
"trace". It also makes it clear that the breakpoint time is specified
in ticks and not in cycles.
This commit is contained in:
Andreas Hansson 2013-11-01 11:56:13 -04:00
parent 3e6da89419
commit c9a8b7b147
4 changed files with 19 additions and 22 deletions

View file

@ -31,7 +31,7 @@ from UserDict import DictMixin
import internal
from internal.debug import SimpleFlag, CompoundFlag
from internal.debug import schedBreakCycle, setRemoteGDBPort
from internal.debug import schedBreak, setRemoteGDBPort
from m5.util import printList
def help():

View file

@ -95,23 +95,20 @@ def parse_options():
# Debugging options
group("Debugging Options")
option("--debug-break", metavar="TIME[,TIME]", action='append', split=',',
help="Cycle to create a breakpoint")
help="Tick to create a breakpoint")
option("--debug-help", action='store_true',
help="Print help on trace flags")
help="Print help on debug flags")
option("--debug-flags", metavar="FLAG[,FLAG]", action='append', split=',',
help="Sets the flags for tracing (-FLAG disables a flag)")
help="Sets the flags for debug output (-FLAG disables a flag)")
option("--debug-start", metavar="TIME", type='int',
help="Start debug output at TIME (must be in ticks)")
option("--debug-file", metavar="FILE", default="cout",
help="Sets the output file for debug [Default: %default]")
option("--debug-ignore", metavar="EXPR", action='append', split=':',
help="Ignore EXPR sim objects")
option("--remote-gdb-port", type='int', default=7000,
help="Remote gdb base port (set to 0 to disable listening)")
# Tracing options
group("Trace Options")
option("--trace-start", metavar="TIME", type='int',
help="Start tracing at TIME (must be in ticks)")
option("--trace-file", metavar="FILE", default="cout",
help="Sets the output file for tracing [Default: %default]")
option("--trace-ignore", metavar="EXPR", action='append', split=':',
help="Ignore EXPR sim objects")
# Help options
group("Help Options")
option("--list-sim-objects", action='store_true', default=False,
@ -316,7 +313,7 @@ def main(*args):
# set debugging options
debug.setRemoteGDBPort(options.remote_gdb_port)
for when in options.debug_break:
debug.schedBreakCycle(int(when))
debug.schedBreak(int(when))
if options.debug_flags:
check_tracing()
@ -338,16 +335,16 @@ def main(*args):
else:
debug.flags[flag].enable()
if options.trace_start:
if options.debug_start:
check_tracing()
e = event.create(trace.enable, event.Event.Trace_Enable_Pri)
event.mainq.schedule(e, options.trace_start)
e = event.create(trace.enable, event.Event.Debug_Enable_Pri)
event.mainq.schedule(e, options.debug_start)
else:
trace.enable()
trace.output(options.trace_file)
trace.output(options.debug_file)
for ignore in options.trace_ignore:
for ignore in options.debug_ignore:
check_tracing()
trace.ignore(ignore)

View file

@ -82,7 +82,7 @@ DebugBreakEvent::description() const
// (callable from debugger)
//
void
schedBreakCycle(Tick when)
schedBreak(Tick when)
{
mainEventQueue.schedule(new DebugBreakEvent, when);
warn("need to stop all queues");

View file

@ -40,9 +40,9 @@
/** Cause the simulator to execute a breakpoint
* @param when the cycle to break
* @param when the tick to break
*/
void schedBreakCycle(Tick when);
void schedBreak(Tick when);
/** Cause the simulator to return to python to create a checkpoint
* @param when the cycle to break