X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fdebugging.xml;h=fe9853774387afd55dd2c4974c9b0ac801dc8184;hb=e5c3b478b3cd1707cf122833822f44b2ac09b8e9;hp=0132b42c0b9b766a13afdd07ed4c41ea83b0bb54;hpb=f61baf76c9fa20aa972938384887bcb52151e76f;p=ghc-hetmet.git diff --git a/docs/users_guide/debugging.xml b/docs/users_guide/debugging.xml index 0132b42..fe98537 100644 --- a/docs/users_guide/debugging.xml +++ b/docs/users_guide/debugging.xml @@ -8,10 +8,10 @@ Dumping out compiler intermediate structures - + dumping GHC intermediates intermediate passes, output - + @@ -24,8 +24,9 @@ a short form…). You can get all of these at once (lots of output) by using , or most of them with - . Some of the most useful ones - are: + . You can prevent them from clogging up + your standard output by passing . + Some of the most useful ones are: @@ -120,7 +121,7 @@ - dumps all rewrite rules specified in this module; + dumps all rewrite rules specified in this module; see . @@ -128,6 +129,39 @@ + : + + + + dumps the names of all rules that fired in this module + + + + + + : + + + + dumps detailed information about all rules that fired in + this module + + + + + + + : + + + + dumps the output of the vectoriser. + + + + + + : @@ -278,7 +312,7 @@ - + : @@ -323,19 +357,30 @@ Make the interface loader be *real* chatty about what it is - upto. + up to. - + - - Make the type checker be *real* chatty about what it is - upto. - + + Make the type checker be *real* chatty about what it is + up to. + + + + + + + + + + Make the vectoriser be *real* chatty about what it is + up to. + @@ -345,7 +390,7 @@ Make the renamer be *real* chatty about what it is - upto. + up to. @@ -380,7 +425,7 @@ - + @@ -393,6 +438,17 @@ + + + + + Print a one-line summary of the size of the Core program + at the end of the optimisation pipeline. + + + + + @@ -421,42 +477,47 @@ style. + + + + + Formatting dumps + + formatting dumps + - - + + - Suppress the printing of uniques in debugging output. This may make - the printout ambiguous (e.g. unclear where an occurrence of 'x' is bound), but - it makes the output of two compiler runs have many fewer gratuitous differences, - so you can realistically apply diff. Once diff - has shown you where to look, you can try again without + In error messages, expressions are printed to a + certain “depth”, with subexpressions beyond the + depth replaced by ellipses. This flag sets the + depth. Its default value is 5. - - + + - Suppress the printing of coercions in Core dumps to make them -shorter. + Set the width of debugging output. Use this if your code is wrapping too much. + For example: . - - + + - In error messages, expressions are printed to a - certain “depth”, with subexpressions beyond the - depth replaced by ellipses. This flag sets the - depth. Its default value is 5. + Print single alternative case expressions as though they were strict + let expressions. This is helpful when your code does a lot of unboxing. @@ -474,6 +535,97 @@ shorter. turn it off. + + + + + + Suppressing unwanted information + + suppression + + Core dumps contain a large amount of information. Depending on what you are doing, not all of it will be useful. + Use these flags to suppress the parts that you are not interested in. + + + + + + + + + Suppress everything that can be suppressed, except for unique ids as this often + makes the printout ambiguous. If you just want to see the overall structure of + the code, then start here. + + + + + + + + + + Suppress the printing of uniques. This may make + the printout ambiguous (e.g. unclear where an occurrence of 'x' is bound), but + it makes the output of two compiler runs have many fewer gratuitous differences, + so you can realistically apply diff. Once diff + has shown you where to look, you can try again without + + + + + + + + + + Suppress extended information about identifiers where they are bound. This includes + strictness information and inliner templates. Using this flag can cut the size + of the core dump in half, due to the lack of inliner templates + + + + + + + + + + Suppress the printing of module qualification prefixes. + This is the Data.List in Data.List.length. + + + + + + + + + + Suppress the printing of type signatures. + + + + + + + + + + Suppress the printing of type applications. + + + + + + + + + + Suppress the printing of type coercions. + +