Есть ли отладчик трассировки, например dbg
, доступный для Haskell или OCaml?Есть ли отладчик трассировки типа `dbg` для Haskell или OCaml?
Очень неформально, это отладка в формате printf только лучше, полностью настраиваемая во время выполнения. По сути, пользователь может зарегистрировать обработчик трассировки при запуске системы, который будет вызываться для каждого действия из набора действий, поддерживаемых средой выполнения (например, при каждом вызове/возврате функции) на каждое отправленное/полученное сообщение и т. Д.). , Такой обработчик может регистрировать каждую операцию, что дает приятную последовательность всех шагов, происходящих в (части) системы.
Этот механизм может использоваться для регистрации/отладки, профилирования определенных частей системы, но во многих случаях просто для того, чтобы узнать, как работает новая (неизвестная для программиста) система.
'ocamldebug' не имеет отлаживаемого стиля трассировки, о котором вы говорите, но поддерживает точки останова и время проезда. Существует также профилирующая поддержка из дополнительных инструментов/флагов. – nlucaroni
Хотя сам отладчик не является отладчиком, верхний уровень OCaml имеет '# trace' и' # install_printer', которые могут пройти долгий путь. – Nikos