X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=docs%2Fusers_guide%2Fdebugging.xml;h=9c48f7d96e7e7db5091868444be4fb07c7d274cf;hp=638ab7a4b50d732352fa82a0db4caefe7100a8d1;hb=febf1ced754a3996ac1a5877dcded87828560d1c;hpb=368f9fc139a24b771b5b3282753544fb087f6b55 diff --git a/docs/users_guide/debugging.xml b/docs/users_guide/debugging.xml index 638ab7a..9c48f7d 100644 --- a/docs/users_guide/debugging.xml +++ b/docs/users_guide/debugging.xml @@ -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,8 +121,42 @@ - dumps all rewrite rules (including those generated - by the specialisation pass) + dumps all rewrite rules specified in this module; + see . + + + + + + + : + + + + 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. + @@ -177,8 +212,8 @@ - : - + : + worker/wrapper split output @@ -285,7 +320,7 @@ Show the output of each run of the simplifier. Used when even - doesn't cut it. + doesn't cut it. @@ -327,14 +362,25 @@ - + - - Make the type checker be *real* chatty about what it is - upto. - + + Make the type checker be *real* chatty about what it is + upto. + + + + + + + + + + Make the vectoriser be *real* chatty about what it is + upto. + @@ -374,7 +420,7 @@ of output!) So: when we're really desperate: -% ghc -noC -O -ddump-simpl -dverbose-simpl -dcore-lint Foo.hs +% ghc -noC -O -ddump-simpl -dverbose-core2core -dcore-lint Foo.hs @@ -392,6 +438,17 @@ + + + + + Print a one-line summary of the size of the Core program + at the end of the optimisation pipeline. + + + + + @@ -420,7 +477,15 @@ style. + + + + + Formatting dumps + + formatting dumps + @@ -436,12 +501,129 @@ - - + + + + + Set the width of debugging output. Use this if your code is wrapping too much. + For example: . + + + + + + + + + + Print single alternative case expressions as though they were strict + let expressions. This is helpful when your code does a lot of unboxing. + + + + + + + + + + Suppress any unsolicited debugging output. When GHC + has been built with the DEBUG option it + occasionally emits debug output of interest to developers. + The extra output can confuse the testing framework and + cause bogus test failures, so this flag is provided to + 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. + + + + + + + - Have the renamer report what imports does not - contribute. + Suppress the printing of type coercions. @@ -621,7 +803,6 @@ Main.skip2{-r1L6-} =