The topic has a long history [1], but since then nothing has actually changed. It's easy to understand: INRIA people are busy and there are probably quite few Ocaml users in the Windows land to worry about. So I decided to do something myself :) (as it was with mingw port several years ago). Let's go into detail. Ocam debugger consists of the the two parts: the client (byterun/debugger.c linked into debuggee) and the server (ocamldebug). The following issues should be addressed to make a Windows port: 1. Checkpointing is done via Unix fork() (client) The most problematic one. I have spend a fair amount of time trying to find an acceptable solution. a) direct port of fork() to Windows. There is a BSD-licenced Windows fork() in tcsh sources [2] that could be used. It's based on Cygwin ideas. But how to handle dynamically loaded DLLs (loaded via LoadLibrary())? I asked the author (Amol Deshpande) and he replied: "DLLs that are dynamically loaded are a can of worms. I would not support those if I were you." BTW, does Cygwin do this right? I doubt at least. b) some checkpoint library. Although Web search gives many references, e.g. [3], I have not found yet anything ready-to-use, even commercial! 2. Unix select (server) It is a problem because server waits for network and console events simultaneously. To work on Windows the main loop should probably be multi-threaded. 3. Unix sockets (client & server) Probably can be ignored. Internet sockets are quite enough. So what is done now. - Client It's ported without (1) and (3). To me it's quite usable even without checkpoints. - Server I don't bother to do (2) right now (until the whole idea is accepted). Currently I use cygwin-compiled ocamldebug with checkpoints and Unix sockets disabled by default. It works well with the native Win32 clients. - OcaIDE Yes, with minor changes in OcaIDE the debugged works there. If it's interesting for anyone I can publish a patch against Ocaml 3.10.1 - Dmitry Bely [1] http://caml.inria.fr/pub/ml-archives/caml-list/1999/03/f44178e212e78826bcbdee52ddf6fd91.en.html http://caml.inria.fr/pub/ml-archives/caml-list/2002/10/ed776d7376ed7a9676d4a9981372ccdf.fr.html [2] http://www.tcsh.org/MostRecentRelease [3] http://www.usenix.org/publications/library/proceedings/usenix-nt98/full_papers/srouji/srouji_html/srouji.html