5

このユーザー ガイド:

http://www.haskell.org/ghc/docs/latest/html/users_guide/ghci-debugger.html

アドバタイズ:

実行はシングル ステップで実行できます。エバリュエーターは、ほぼすべてのリダクションの後に実行を中断し、ローカル変数を検査できるようにします。これは、プログラムのすべてのポイントにブレークポイントを設定することと同じです。

それでも、その方法を教えてくれる文書は何も見つかりません。見出しの下:

2.5.2. シングルステップ

ブレークポイントからブレークポイントにステップする方法について説明します。しかし、すべての行にブレークポイントを設定する必要はありません。広告は間違っていましたか、それともプログラムを 1 行ずつ実行する方法はありますか?

ありがとう。

4

2 に答える 2

6

ブレークポイントを設定して到達したら:step、デバッガーから呼び出すことができます。

他の単一ステップの可能性があります。ブレークポイントで 1 回入力:helpすると、何ができるかについての詳細が表示されます。

于 2013-05-20T22:31:30.330 に答える
4

さて、私はそれを理解しました:

ghci> :step function_name arg1 arg2
...
...
ghci> :step   
...
...
ghci> :step

関数の引数を忘れると、不可解なエラー メッセージが表示されます。

<interactive>:138:1:
    No instance for (Show (String -> Double))
      arising from a use of `print'
    Possible fix:
      add an instance declaration for (Show (String -> Double))
    In a stmt of an interactive GHCi command: print it

...それはあなたの髪を引き裂く可能性があります。そして、最後までスキップしたい場合:

ghci> :continue
于 2013-05-20T22:34:15.147 に答える