2014-09-01 48 views
5

是否有可用於Haskell或OCaml的跟蹤調試器dbg是否有像`dbg`這樣的跟蹤調試器可用於Haskell或OCaml?

非常非正式地說,它只是更好的printf式調試,在運行時完全可配置。本質上,用戶可以在系統運行時註冊跟蹤處理程序,這將在運行時支持的一組操作中針對每個操作調用(例如,每個函數調用/返回,每個發送/接收的消息等) 。這樣的處理程序可以記錄每一個操作,這給系統中(部分)發生的所有步驟提供了一個很好的順序。

該機制可用於記錄/調試,分析系統的某些部分,但在許多情況下僅用於發現新的(程序員未知的)系統的工作方式。

+0

'ocamldebug'沒有跟蹤風格調試,但支持斷點和時間旅行。還有來自其他工具/標誌的分析支持。 – nlucaroni 2014-09-02 13:37:58

+1

雖然本身不​​是調試器,但OCaml頂層具有'#trace'和'#install_printer',可以走很長的路。 – Nikos 2014-09-03 15:03:58

回答

4

對於Haskell,GHCi提供了一個簡單的命令式調試器。看看它的documentation找到更多關於它的細節。它的一些功能是

  • 能夠設置一個斷點
  • 步進通過執行
  • 檢查局部變量
  • 處理例外的任何代碼中的斷點
  • 打字立即執行它
+0

確實。爲了記錄,我發現GHCi能夠在範圍內運行我喜歡的任何代碼,而且我喜歡的任何參數比任何傳統調試工具更有用。 – AndrewC 2014-09-01 11:06:39

+0

(請原諒或回滾厚臉皮編輯) – AndrewC 2014-09-01 11:10:29

+1

@AndrewC沒關係。 :)事實上,我只使用'ghci'作爲你列出的功能。 – Sibi 2014-09-01 14:20:12

相關問題