私は現在、私のディプロマテーゼのためにHaskellで実装したアルゴリズムをデバッグしています。私は多くを持っているので、マップ内の要素ではないHaskellでスローされたエラーのバックトレースを表示する方法
:Map.find:例外***ほとんどの入力に対して正しく動作しているようですが、まだ私は、GHCはエラー
を投げる作る1つの入力を見つけ私のコードでルックアップをマップするには、このエラーを投げるラインを見つける必要があります。私は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
をしようとすると、いずれか助けていないようです。誰かが間違っていることを教えてもらえますか、違反行を見つける別の方法を提供できますか?前もって感謝します!
PS:GHCバージョン7.0.3を使用しているため、リンクされたガイドが適用されます。
もっと良い解決方法はこちら[こちら](http://stackoverflow.com/questions/8595077/how-can-i-get-the-position-where-error-was-called) – Simon