2017-07-30 140 views
1

我正在学习如何使用Ghci调试器,遵循GHCi用户指南的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> 

我达到了一个点,调试器已经停止了程序的执行。从这种状态,当我想从一开始就重新运行程序时,我通常通过:q退出ghci并重新启动ghci,完全重新加载程序。

如何退出正在运行的程序,以便从头开始重新运行main而不必退出ghci?最好这样做也可以不需要重置断点。

回答

1
:abandon 

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

从ghci的范围内,运行:?弹出ghci中的Commands available from the prompt帮助文档,其中:abandon可以Commands for debugging部分中找到。

-- Commands for debugging: 

    :abandon     at a breakpoint, abandon current computation 
+1

或者只是键入:a – mitaness

相关问题