how dynamic stack approximation works
Simon Marlow
marlowsd at gmail.com
Tue Feb 17 03:46:07 EST 2009
Peter Hercek wrote:
> pepe wrote:
>> Having (a kind of messy approximation of) a dynamic stack is possible
>> with a variant of the cost center stacks mechanism used for profiling.
>> But the downside is that code and libraries would need to be compiled
>> for debugging.
> Is there any info somewhere why the approximation of the dynamic stack
> needs libraries to be recompiled for debugging? I thought about it but I
> could not figure out why it would be needed. Here is what I thought is
> the way it works:
I have the feeling that pepe is talking about *lexical* call stacks, rather
than *dynamic* call stacks. Cost-centre-stacks try to give you the lexcial
call stack (but sadly don't always work properly, and as I've said before
we don't fully understand how to do it, or indeed whether it can be done at
all...). It probably *would* require recompiling the libraries, though.
Perhaps you're already aware of this wiki page, but I'll post the link anyway:
http://hackage.haskell.org/trac/ghc/wiki/ExplicitCallStack
The dynamic call stack is already present, in the form of the runtime
execution stack. For debugging you might want to track more information
than we store on this stack, however.
You seem to have a plan for maintaining a dynamic stack for debugging,
perhaps you could flesh out the details in a wiki page, mainly to ensure
that we're discussing the same thing?
Cheers,
Simon
More information about the Glasgow-haskell-users
mailing list