Files
mercury/tests/debugger/completion.exp
Ian MacLarty b5550df746 Add mdb `dice' command which reads in a set of passing trace counts and a
Estimated hours taken: 40
Branches: main

Add mdb `dice' command which reads in a set of passing trace counts and a
failing trace count and prints a comparison table.  The table can be sorted
by various metrics and is useful for finding parts of a program executed in
a failing run, but not in passing runs.

browser/dice.m
	Add a new module for generating and manipulating a dice.

browser/mdb.m
	Add the dice module.

compiler/special_pred.m
mdbcomp/prim_data.m
	Move special_pred_name_arity/3 from compiler/special_pred.m to
	mdbcomp/prim_data.m so it can be used in dice.m.

doc/user_guide.texi
	Document the `dice' mdb command.  Also document the fact that the
	failing and passing slice file names can be set with the `set' mdb
	command.

	Move the `set' command to the misc section from the browser section
	since it now also sets the passing and failing slice file names, which
	have nothing to do with the browser.

library/list.m
	Add map4, map5 and map6 since map6 is needed in dice.m.

mdbcomp/program_representation.m
	Add a predicate to convert a goal path to a string.

mdbcomp/trace_counts.m
	Convert string_to_trace_port into a predicate and add a new mode so
	that a port can be converted back to a string.

runtime/mercury_trace_base.h
trace/mercury_trace_util.h
	Move the MR_TRACE_USE_HP and MR_TRACE_CALL_MERCURY macros to
	runtime/mercury_trace_base.h, so that they can be called from
	browser/dice.m.

tests/Mmake.common
	Clean up trace counts (which are generated to test the `dice' command).

tests/debugger/Mmakefile
tests/debugger/dice.exp
tests/debugger/dice.exp2
tests/debugger/dice.inp
tests/debugger/dice.m
tests/debugger/dice.passes
	Test the `dice' command.

trace/mercury_trace_internal.c
	Add the mdb `dice' command and modify the `set' command so the
	`fail_trace_count' and `pass_trace_counts' parameters can be set.

	Add a function to print a dice.

	Move the `set' command to the misc help section.
2005-02-10 04:10:33 +00:00

98 lines
3.9 KiB
Plaintext

1: 1 1 CALL pred completion.main/2-0 (det) completion.m:13
mdb> echo on
Command echo enabled.
mdb> register --quiet
mdb>
? exception quit
P excp r
alias f register
all_class_decls finish retry
all_procedures flag return
all_regs forward s
all_type_ctors g save
b gen_stack save_to_file
break goal_paths scope
break_print goto scroll
browse h set
c help source
cc_query histogram_all stack
class_decl histogram_exp stack_default_limit
clear_histogram ignore stack_regs
condition io_query step
consumer label_stats subgoal
context level table
continue maxdepth table_io
current mindepth term_size
cut_stack mm_stacks trust
d mmc_options trusted
dd modules type_ctor
dd_dd next unalias
debug_vars nondet_stack unhide_events
delete p untrust
disable pneg_stack up
document print v
document_category print_optionals var_details
down printlevel var_name_stats
e proc_stats vars
echo procedures view
enable query
h help histogram_all histogram_exp
var_details var_name_stats vars view
var_details var_name_stats vars
help vars
vars
Prints the names of all the known variables in the current
environment, together with an ordinal number for each variable.
mdb>
* --pretty -f -v goal
--flat --verbose -p exception
p --flat D
mdb: there is no such variable.
mdb>
stack stack_default_limit stack_regs
stack --detailed
0 1 1 1 pred completion.main/2-0 (det) (completion.m:13) (empty)
mdb>
proc_stats procedures
completion completion.sub2
completion.sub1 completion.sub2.sub3
completion.sub1 completion.sub2 completion.sub2.sub3
procedures completion.sub1
List of procedures in module `completion.sub1'
pred completion.sub1.zp/1-0 (det)
func completion.sub1.z1/0-0 (det)
mdb> set --flat format pretty
mdb> unalias excp
Alias `excp' removed.
mdb> b zabc3
0: + stop interface func completion.sub2.sub3.zabc3/0-0 (det)
mdb>
func*completion. func*completion.sub2.
func*completion.sub1. func*completion.sub2.sub3.
func*completion.z func*completion.zz
b func*completion.z
1: + stop interface func completion.z/0-0 (det)
mdb>
completion. completion.sub2.
completion.sub1. completion.sub2.sub3.
completion.sub1. completion.sub2. completion.sub2.sub3.
completion.sub1.z1 completion.sub1.zp
b completion.sub1.z1
2: + stop interface func completion.sub1.z1/0-0 (det)
mdb>
completion. completion.sub2.
completion.sub1. completion.sub2.sub3.
completion.sub1. completion.sub2. completion.sub2.sub3.
completion.sub2. completion.sub2.sub3.
b completion.sub2.sub3.zabc3
3: + stop interface func completion.sub2.sub3.zabc3/0-0 (det)
mdb>
2d 2debug_vars 2document
2dd 2delete 2document_category
2dd_dd 2disable 2down
2debug_vars 2delete
2delete
2: E stop interface func completion.sub1.z1/0-0 (det)
mdb> c
ok