Hi, I have a bug in my program. I wanted to step through the computation with ocamldebug. Since there are some abstract data types, I have defined some printers and took advantage of the "install_printer" mechanism provided by "ocamldebug". What surprised me was that the printers are invoked in some cases but not always. The attached files represent the most simplest scenario that replicate the problem. When I start debugging: make ocamldebug main the installed printers work as expected. rlwrap ocamldebug main OCaml Debugger version 4.08.1 Executing file .ocamldebug Loading program... done. Time: 449 Program exit. Breakpoint 1 at 158840: file main.ml, line 2, characters 3-53 Time: 0 Beginning of program. Time: 221 - pc: 158840 - module Main Breakpoint: 1 2 <|b|>let _value = Aux.Submodule.value in File ./aux.cmo loaded (ocd) next Time: 222 - pc: 158860 - module Main 3 <|b|>Aux.debug () (ocd) p _value _value: Aux.Submodule.t = DEBUG: Aux.Submodule.pp However, when I decent from one module to another, the printer no longer seems to be installed: (ocd) step Time: 223 - pc: 158668 - module Aux 20 <|b|>let _value = Submodule.value in (ocd) next Time: 224 - pc: 158680 - module Aux 21 <|b|>() (ocd) print _value _value: Submodule.t = (ocd) install_printer Aux.Submodule.pp (ocd) print _value _value: Submodule.t = Above, I would expect to see _value: Aux.Submodule.t = DEBUG: Aux.Submodule.pp Why do I see _value: Submodule.t = instead? Is this an expected behavior? What am I missing? I always see even when I try reinstall the relevant printer: (ocd) install_printer Aux.Submodule.pp (ocd) print _value Thank you in advance for any hints, Cordially, -- Matej Kosik