Gibt es einen Tracing Debugger wie dbg
für Haskell oder OCaml?Gibt es einen Tracing-Debugger wie `dbg` für Haskell oder OCaml?
Sehr informell, ist das Debugging im printf-Stil nur besser, vollständig konfigurierbar zur Laufzeit. Im Wesentlichen kann der Benutzer einen Trace-Handler registrieren, wenn ein System läuft, der bei jeder Aktion aus einer Reihe von Aktionen aufgerufen wird, die von der Laufzeit unterstützt werden (zB bei jedem Funktionsaufruf/-rücklauf, bei jeder gesendeten/empfangenen Nachricht etc.) . Solch ein Handler kann jede Operation protokollieren, was eine schöne Abfolge aller Schritte ergibt, die in (einem Teil des) Systems stattfinden.
Dieser Mechanismus kann zum Protokollieren/Debuggen und Profilieren bestimmter Teile des Systems verwendet werden, aber in vielen Fällen nur zum Entdecken, wie ein neues (dem Programmierer unbekanntes) System funktioniert.
'ocamldebug' verfügt nicht über das Trace-Stil-Debugging, von dem Sie sprechen, unterstützt aber Breakpoints und Zeitreisen. Es gibt auch Profiling-Unterstützung von zusätzlichen Tools/Flags. – nlucaroni
Obwohl kein Debugger per se, hat die OCAML-Top-Ebene '# trace' und' # install_printer', die einen langen Weg gehen können. – Nikos