diff options
Diffstat (limited to 'docs/users_guide/debug-info.rst')
-rw-r--r-- | docs/users_guide/debug-info.rst | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/docs/users_guide/debug-info.rst b/docs/users_guide/debug-info.rst index ce640691a2..932cbf2b2e 100644 --- a/docs/users_guide/debug-info.rst +++ b/docs/users_guide/debug-info.rst @@ -373,10 +373,10 @@ to a source location. This lookup table is generated by using the ``-finfo-table :since: 9.2 For every usage of a data constructor in the source program - a new info table will be created. This is useful for debugging - as if each usage has a unique info table then the info table map - and profiling modes can distinguish the allocation sites of - a data constructor. + a new info table will be created. This is useful with + :ghc-flag:`-finfo-table-map` and the :rts-flag:`-hi` profiling mode as + each info table will correspond to the usage of a data constructor rather + than the data constructor itself. @@ -386,10 +386,11 @@ Querying the Info Table Map If it is generated then the info table map can be used in two ways. -1. The ``whereFrom`` function can be used to determine the source +1. The ``whereFrom`` Haskell function can be used to determine the source position which we think a specific closure was created. 2. The complete mapping is also dumped into the eventlog. -If you are using gdb then you can use the ``lookupIPE`` function +If you are using gdb then you can use the ``lookupIPE`` function (provided +by ``IPE.h`` and exported in the public API) directly in order to find any information which is known about the info table for a specific closure. |