
On Thu, Feb 14, 2008 at 4:43 PM, Don Stewart
saynte:
On Thu, Feb 14, 2008 at 3:02 PM, Denis Bueno
wrote: On Thu, Feb 14, 2008 at 2:55 PM, Don Stewart
wrote: You can use the profiler to get a stack trace, or use the new GHCi debugger to step backwards from the exception to the source.
I wrote a bit of a tutorial for this here:
http://cgi.cse.unsw.edu.au/~dons/blog/2007/11/14#no-exceptions
Section 6.3 of http://haskell.org/haskellwiki/Debugging also is relevant for using ghcu to step backward ... perhaps the section label is misleading, though. Feel free to modify as needed if you find the ghci stepper lets you find the problem
Well, when using +RTS -xc, I get:
Prelude.undefined I'm not really sure what to do with this, not really the stacktrace I was hoping for. The ghci debugger I found was really quite nice, up until it his some portion of code that it isn't interpreting. By not "interpreting" i mean things that have been already been compiled and it's just calling (even if it has been compiled with profiling). I have a feeling that my problem is somewhere in something that has already been compiled.
Is it possible to just load all the code interpreted? Or is the problem in a dependent library?
If you profile and let the program terminate, there should be a stack trace in the .prof as well.
-- Don
Well, I can load a bunch of it interpreted. I've already done this as far as I think I can. The only pieces laying outside the interpreter are the GHC libraries and Gtk2Hs. The really funny thing, is that (essentially) I believe the error results from a call to "fromDynamic" out of Data.Dynamic. This sort of leads me to believe that someone's "Typeable" instance is being funny. Again though, all the Typeable's in the immediate area of my code seem to be fine. (the .prof didn't seem to reveal anything yet... I'll look it over a little more closely though) Regards, Scott