Debugging

Konrad Hinsen hinsen@cnrs-orleans.fr
Fri, 29 Aug 2003 10:04:40 +0200


On Thursday 28 August 2003 17:07, Malcolm Wallace wrote:

> Indeed, Hat can chew up disk space (to store the trace) at a
> frightening rate.  The fastest I have witnessed so far is 50Mb per
> second on one particularly intensive run, and we have certainly bumped
> into a 2Gb single-file limit once or twice as well.  But backing

I do calculations that hit the 2GB limit for the file holding the intende=
d=20
results... (not in Haskell for the moment) I don't want to think about th=
e=20
number of disks I'd have to buy to hold a trace of such a run.

> partial trace, and you can always 'trust' parts of the computation
> to reduce the amount of storage needed.  However, you probably don't

Ah, OK, that should help.

> > >        like HOOD, it permits you to see the arguments and results o=
f
> > > a named function call,
> >
> > I am mostly interested in intermediate values.
>
> Intermediate values are always the result of an expression, and this
> is exactly what hat-observe shows you - expressions and their results.

But if I can only see the results of named function calls, I don't get th=
e=20
intermediate values.

A typical situation would be a function that looks like

   f x =3D sum [...]

When my unit test reports that the sum is wrong, I'd then like to use a=20
debugging tool to look at the list before summation.

> There is another trace-browser, hat-trail, used for tracing backwards
> from an error or faulty output value to the expressions that produced
> it.  This likewise shows all the intermediate values along the way.

That looks very useful indeed.

Konrad
--=20
-------------------------------------------------------------------------=
------
Konrad Hinsen                            | E-Mail: hinsen@cnrs-orleans.fr
Centre de Biophysique Moleculaire (CNRS) | Tel.: +33-2.38.25.56.24
Rue Charles Sadron                       | Fax:  +33-2.38.63.15.17
45071 Orleans Cedex 2                    | Deutsch/Esperanto/English/
France                                   | Nederlands/Francais
-------------------------------------------------------------------------=
------