代码之家  ›  专栏  ›  技术社区  ›  mherzl

如何在Ghci调试器中退出正在运行的计算?

  •  2
  • mherzl  · 技术社区  · 7 年前

    debugger section GHCi用户指南。

    遵循这些指令和该示例,我能够设置断点并运行代码,以便调试器在断点处停止。

    *Main> :break qsort                                                                     │~                                                                                      
    Breakpoint 0 activated at qsort.hs:2:12-13                                              │~                                                                                      
    Breakpoint 1 activated at qsort.hs:3:16-47                                              │~                                                                                      
    *Main> main                                                                             │~                                                                                      
    Stopped in Main.qsort, qsort.hs:3:16-47                                                 │~                                                                                      
    _result :: [Integer] = _                                                                │~                                                                                      
    a :: Integer = 8                                                                        │~                                                                                      
    left :: [Integer] = _                                                                   │~                                                                                      
    right :: [Integer] = _                                                                  │~                                                                                      
    [qsort.hs:3:16-47] *Main> 
    

    我到达调试器在执行过程中停止程序的点。在这种状态下,当我想从一开始就重新运行程序时,我通常会通过退出ghci :q

    如何退出正在运行的程序,以便从一开始就重新运行main,而不必退出ghci? 最好也不用重置断点。

    1 回复  |  直到 7 年前
        1
  •  2
  •   mherzl    7 年前
    :abandon
    

    要在ghci文档中找到此命令:

    从ghci内部运行 :? 提出ghci的 Commands available from the prompt 帮帮医生,在哪里 :abandon 可以在 Commands for debugging 部分

     -- Commands for debugging:
    
       :abandon                    at a breakpoint, abandon current computation