>>>>> "Paul" == Paul Kinnucan <[EMAIL PROTECTED]> writes:

  Paul> I'm having second thoughts about using a socket-based
  Paul> interface between the JDE and the debugger. The problem is
  Paul> that it requires that Windows machines be connected to a
  Paul> network.

         This problem had occured to me also. As a result of it I
cant use jdb at home. And because I cant be bothered learning a set of
techniques that I can only use at work, I dont use it there either. 

  Paul> For people with dialup connections, this is a major
  Paul> inconvenience. In fact, it is one of the major complaints
  Paul> about jdb, which for some reason also requires that the host
  Paul> machine be connected to a network. 
  
        The problem is that jdb sends a socket out to the running 
JVM. It uses the default address of "localhost", but as windows
networking is a hack added at the last minute (and nothing will
convince me otherwise!) this forces a DNS lookup, and hence the
connection. 

        As far as I know it doesnt actually need a network connection,
its just that windows get confused, and throws up the dialup
connection. If you dont have dialup network installed on your machine
(but do have a TCP/IP stack). Could be wrong about this. 

  Paul> Supposedly there is a way to fool an unconnected Windows
  Paul> machine into thinking it is connected, but I have never been
  Paul> able to get this to work.

        It involves fiddling with the windows rhosts file, which
allows you to specify the IP address of your own machine. NTEmacs used
to have the same problem, and there is advice in the
faq. Interestingly NTEmacs managed to get around the problem. I wonder
how, and whether this might be of relevance in this case?


  Paul> So I think it might be better for users if we stick with
  Paul> standard I/O between Emacs and the debugger. This means that
  Paul> we need a way to multiplex I/O intended for the debugger with
  Paul> I/O intended for the application.  Perhaps our protocol could
  Paul> include a way to "quote" portions of the I/O stream so that
  Paul> the JDE and the debugger can distinguish application from
  Paul> debugger traffic.

  Paul> What do you think?


        The ideal solution would to use both I think. It should be
relatively easy to scan for java console output which contains
evaluatable lisp (you might even want to wrap the commands up inside a
token which identifies the lisp, like so (debugger (command)) where
the outer list is used for every communication. To send info into the
debugger you go through a similar front end. Either way most of the
code remains the same, but with either a direct socket connection, or
alternatively with a simple text parser. This allows the best of both
worlds. Although, of course, at the price of more effort. 

        I wonder how widespread this problem is. Does it affect NT as 
well as 95? What about 98?

     Phil


Reply via email to