Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
* Debugger under Windows...
@ 1999-03-03 21:50 Manuel Fahndrich
  1999-03-04 17:01 ` Xavier Leroy
  0 siblings, 1 reply; 2+ messages in thread
From: Manuel Fahndrich @ 1999-03-03 21:50 UTC (permalink / raw)
  To: 'caml-list@inria.fr'

[Version francaise]

Quel sont les probleme pour adapter le debugger OCAML pour Windows? Est-t-il
juste une question d'adapter l'interface graphique du debugger meme, oubien,
est-ce qu'il y a des problemes au niveau de la generation de code x86 pour
debuggage?





[English version]
What would be involved in porting the OCAML debugger to Windows?

- Is the problem just the debugger application and the graphical user
interface, or

- the generation of debuggable OCAML code by the compiler under windows.

I'm especially interested in the native code debugger, but even a bytecode
debugger would be useful under Windows.


Manuel Fahndrich	Microsoft Research

"Expressed opinions are my own and do not necessarily reflect those of my
employer."





^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Debugger under Windows...
  1999-03-03 21:50 Debugger under Windows Manuel Fahndrich
@ 1999-03-04 17:01 ` Xavier Leroy
  0 siblings, 0 replies; 2+ messages in thread
From: Xavier Leroy @ 1999-03-04 17:01 UTC (permalink / raw)
  To: Manuel Fahndrich, 'caml-list@inria.fr'

> What would be involved in porting the OCAML debugger to Windows?
> - Is the problem just the debugger application and the graphical user
> interface, or
> - the generation of debuggable OCAML code by the compiler under windows.
> I'm especially interested in the native code debugger, but even a bytecode
> debugger would be useful under Windows.

OCaml doesn't support debugging of native code on any platform.  Well,
you can use gdb to debug at the assembly level, but I don't recommend it...

Concerning bytecode debugging under Windows, the major issue is the
way our debugger performs periodic checkpointing of the running program
(in order to implement reverse execution).  We just use the Unix fork()
system call, which does everything we want (checkpointing of memory
and file descriptors, using lazy copy-on-write to minimize copying).

Unfortunately, Win32 doesn't have any equivalent to fork().
The POSIX subsystem of NT does have fork(), but is otherwise unusable
(no sockets, no GUI, etc).  I looked hard on the Web but couldn't find
any general-purpose checkpointing library for Win32.

Some Unix compatibility libraries provide decent emulations of fork()
(although they run a bit slowly).  This is the case for Cygnus's Cygwin
system.  However, Cygwin doesn't support threads, and I doubt that it
supports some other Win32 features that are important for us, such as
COM.

So, the current alternatives are:

- Port the debugger without the replay facilitity.  Unfortunately,
that would make it a lot less usable.

- Recompile the whole OCaml system with Cygwin gcc instead of
Microsoft VC++.  We'd lose threads and probably more.

- Find or write a decent checkpointing facility for Win32.  Any help
with this would be great.

All the best,

- Xavier Leroy





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~1999-03-04 18:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-03-03 21:50 Debugger under Windows Manuel Fahndrich
1999-03-04 17:01 ` Xavier Leroy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox