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