Как правилно да отстранявате грешки в OCaml кода?

Мога ли да знам как опитен разработчик на OCaml отстранява грешки в своя код?

Това, което правя, е просто да използвам Printf.printf. Това е твърде обезпокоително, тъй като трябва да ги коментирам всички, когато имам нужда от чист резултат.

Как да контролирам по-добре този процес на отстраняване на грешки? специална анотация за включване или изключване на тези logging?

Благодаря


person Jackson Tale    schedule 09.05.2013    source източник


Отговори (3)


Можете да използвате bolt за тази цел. Това е разширение на синтаксиса.

между другото Ocaml има истински дебъгер.

person rafix    schedule 09.05.2013

Има функция на OCaml дебъгера, за която може да не сте наясно, която не се среща често при програмирането със състояние и се нарича пътуване във времето. Вижте раздел 16.4.4. По принцип, тъй като цялата информация от стъпка на стъпка се съхранява в стека, чрез запазване на промените, свързани с всяка стъпка, записани по време на обработката, човек може да премине през промените във времето, за да види стойностите по време на тази стъпка. Мислете за това като за стартиране на програмата, след като регистрирате всички стойности на всяка стъпка в хранилище на данни, след което индексирате в това хранилище на данни въз основа на номер на стъпка, за да видите стойностите на тази стъпка.

person Guy Coder    schedule 09.05.2013

Можете също да използвате ocp-ppx-debug, което ще добави printf с доброто местоположение, вместо да ги добавяте ръчно.

https://github.com/OCamlPro-Couderc/ocp-ppx-debug
person cago    schedule 24.06.2016