2013-05-09 2 views
6

숙련 된 OCaml 개발자가 어떻게 코드를 디버깅하는지 알 수 있습니까?OCaml 코드를 올바르게 디버깅하는 방법은 무엇입니까?

나는 단지 Printf.printf을 사용하고 있습니다. 깨끗한 결과물을 필요로 할 때 나는 그들 모두를 언급해야하기 때문에 너무 번거 롭다.

이 디버깅 프로세스를 어떻게 제어해야합니까? 특수 주석을 사용하면 해당 항목을 전환 할 수 있습니다. logging?

감사

답변

7

당신은이 목적을 위해 bolt를 사용할 수 있습니다. 구문 확장입니다.

btw. Ocaml은 실제 debugger입니다.

4

OCaml 디버거에는 상태 저장 프로그래밍에서는 일반적으로 발견되지 않으며 시간 이동이라는 것을 알지 못하는 기능이 있습니다. 섹션 16.4.4을 참조하십시오. 기본적으로 단계별로 모든 정보가 스택에 보관되므로 처리하는 동안 저장된 각 단계와 관련된 변경 사항을 유지함으로써 시간의 변화를 통해 해당 단계에서 값을 볼 수 있습니다. 각 단계의 모든 값을 데이터 저장소에 로깅 한 다음 단계 번호를 기준으로 해당 데이터 저장소를 인덱싱하여 해당 단계의 값을 확인한 후 프로그램을 실행하는 것으로 생각하십시오.

2

ocp-ppx-debug을 사용하여 수동으로 추가하는 대신 좋은 위치에 printf을 추가 할 수도 있습니다.

https://github.com/OCamlPro-Couderc/ocp-ppx-debug 
관련 문제