Data con names in the debugger

Simon Peyton-Jones simonpj at microsoft.com
Mon Dec 18 03:42:59 EST 2006


Pepe

I saw that Ian committed your patches -- great!

Concerning the recovery of DataCon names, you write "The closure viewer obtains the heap address of a Haskell value, find out the address of its associated info table, and trace back to the DataCon? corresponding to this info table. This is possible because the ghc runtime allocates a static info table for each and every datacon, so all we have to do is extend the linker with a dictionary relating the static info table addresses to a DataCon? name. Moreover, the ghci linker can load interpreted code containing new data or newtype declarations. So the dynamic linker code is extended in the same way."

Isn't there a simpler way to do this: just include the DataCon name in the info table of the data con.  Of course that makes every (debuggable) binary a bit bigger, but so does all the breakpoint stuff.

Simon



More information about the Cvs-ghc mailing list