我正在学习使用Ghci调试器,遵循GHCi用户指南的debugger section。
遵循这些说明和该示例,我能够设置断点并运行代码,以便调试器停在它们处。
*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?最好这样做也可以不需要重置断点。
答案 0 :(得分:1)
:abandon
要在ghci文档中找到此命令:
在ghci中,运行:?
以显示ghci的Commands available from the prompt
帮助文档,其中:abandon
部分可以找到Commands for debugging
。
-- Commands for debugging:
:abandon at a breakpoint, abandon current computation