में फेंकने वाली त्रुटि के लिए बैकट्रैक कैसे प्रदर्शित करें मैं वर्तमान में अपने डिप्लोमा थीसिस के लिए हास्केल में लागू एक एल्गोरिदम डीबग कर रहा हूं। यह सबसे आदानों के लिए सही ढंग से काम करने लगता है, फिर भी मैं एक इनपुट जो GHC त्रुटि फेंक बनाता पायाहास्केल
*** अपवाद: Map.find: तत्व नक्शा
मैं कई है के बाद से में नहीं मेरे कोड में मानचित्र लुकअप, मुझे इस त्रुटि को फेंकने की रेखा को खोजने की जरूरत है। मैं this guide के माध्यम से पढ़ते हैं, लेकिन हालांकि मैं झंडा fbreak-on-exception
(और -error
) निर्धारित करते हैं, सब GHCi समारोह का पता लगाने के बाद मुझे देता है मैं कर रहा हूँ परीक्षण है:
[...]> :trace test
[...]
Stopped at <exception thrown>
_exception ::
e = GHC.Exception.SomeException (GHC.Exception.D:Exception _
(GHC.Show.D:Show ...) ....)
(GHC.Exception.ErrorCall ['M',....])
Unable to list source for <exception thrown>
Try rerunning with :trace, :back then :list
[<exception thrown>] [...]> :history
Empty history. Perhaps you forgot to use :trace?
पुनः प्रयास किया जा :trace
या तो मदद करने के लिए प्रतीत नहीं होता।
तो, क्या कोई मुझे बता सकता है कि क्या गलत हो रहा है या आपत्तिजनक रेखा को खोजने का दूसरा तरीका प्रदान कर सकते हैं? अग्रिम में धन्यवाद!
पीएस: मैं जीएचसी संस्करण 7.0.3 का उपयोग कर रहा हूं, इसलिए लिंक की गई मार्गदर्शिका लागू होनी चाहिए।
बेहतर समाधान के लिए [यहां] (http://stackoverflow.com/questions/8595077/how-can-i-get-the-position-where-error-was-called) – Simon