Laurent Mirguet writes:
> Hello,
>
> I've got the same problem. The output of jdb doesn't seem to be
> understood by JDE. The in/out communication with jdb appears in the
> *Message* buffer.
> The problem appears each time I use jdb, not only when I attach to an
> external process.
>
Hi,
I'll look into this as soon as possible.
- Paul
> My config is the following :
> * GNU Emacs 21.1.90.1 (i686-pld-linux-gnu, X toolkit, Xaw3d scroll bars)
> of 2002-02-03 on ep09
> * ecb-1.70
> * eieio-0.17beta4
> * elib-1.0
> * jde-2.2.9beta9.1
> * semantic-1.4beta14
> * speedbar-0.13a
>
> I did not experience these problems with the previous versions of JDE
> (jde-2.2.9beta8 for instance).
>
> Laurent
>
> Hannu Koivisto wrote:
> > Greetings,
> >
> > Well, it didn't work too well with 1.3.1 either (more about that in
> > another mail, perhaps), but here's what I'm experiecing with JDE
> > 2.9.9beta9.1, EIEIO 0.17beta4, Semantic 1.4beta14, speedbar
> > 0.14beta3, Sun's J2SDK 1.4.0 and Emacs 21.2 running on Debian
> > GNU/Linux x86 unstable. I'm trying to debug a simple test
> > application that runs under JBoss 2.4.4 + Tomcat 4.0.1 combination.
> > I can run the application just fine under JDE but it seems that JDE
> > doesn't understand the output of jdb from 1.4.0 or something like
> > that. When I set one breakpoint and select "JDE -> Debug App", a
> > window appears with *debugorg.jboss.Main* buffer. Its contents are
> > as follows:
> >
> > -------------------------------------------------------------------
> > cd /usr/local/jboss/jboss/bin
> > /usr/local/j2sdk/bin/jdb -launch -classpath
>/usr/local/j2sdk/lib/tools.jar:/usr/local/jboss/jboss/bin/run.jar:/usr/local/jboss/jboss/lib/crimson.jar
> -Djavax.xml.parsers.SAXParserFactory=org.apache.crimson.jaxp.SAXParserFactoryImpl
>-Djavax.xml.parsers.DocumentBuilderFactory=org.apache.crimson.jaxp.DocumentBuilderFactoryImpl
> org.jboss.Main catalina
> >
> > Initializing jdb ...
> >
> > VM Started: step
> >
> >>stop at org.jboss.test.tomcat.ejb.bean.StatelessSessionBean:38
> >
> > No frames on the current call stack
> >
> > main[1] > Deferring breakpoint
>org.jboss.test.tomcat.ejb.bean.StatelessSessionBean:38.
> > It will be set after the class is loaded.
> >
> > -------------------------------------------------------------------
> >
> > At the same time I get lots of output to *Messages*:
> >
> > -------------------------------------------------------------------
> > menu-bar JDE Run App
> > set-bp resp <<No frames on the current call stack>>
> > set-bp resp <<
> >
> > set-bp resp <<
> >
> > set-bp resp <<main[1] >>
> > set-bp resp <<> >>
> > set-bp resp <<Deferring breakpoint
>org.jboss.test.tomcat.ejb.bean.StatelessSessionBean:38.
> > It will be set after the class is loaded.>>
> > set-bp resp <<
> >
> > set-bp resp <<
> > Step completed: >>
> > set-bp resp <<"thread=main", org.jboss.Main.main(), line=42 bci=0
> >
> > set-bp resp <<
> >
> > set-bp resp <<main[1] >>
> > -------------------------------------------------------------------
> >
> > I can enter commands to *debugorg.jboss.Main* buffer but their
> > output does not show up in that buffer as it did with Blackdown's
> > J2SDK 1.3.1. I can see the output in *Messages*, however.
> >
> > The breakpoint does not really get set; if I "cont" the application
> > and do something that should hit the breakpoint, it doesn't fire.
> > The colour the breakpoint stays yellow, whereas with 1.3.1 it
> > turned into red when the class in question got loaded.
> >
> > The contents of my prj.el:
> >
> > -------------------------------------------------------------------
> > (jde-project-file-version "1.0")
> > (jde-set-variables
> > '(jde-db-option-application-args (quote ("catalina")))
> > '(jde-run-working-directory "/usr/local/jboss/jboss/bin")
> > '(jde-run-option-classpath (quote ("$JAVA_HOME/lib/tools.jar"
>"/usr/local/jboss/jboss/bin/run.jar" "/usr/local/jboss/jboss/lib/crimson.jar")))
> > '(jde-run-option-vm-args (quote
>("-Djavax.xml.parsers.SAXParserFactory=org.apache.crimson.jaxp.SAXParserFactoryImpl"
>"-Djavax.xml.parsers.DocumentBuilderFactory=org.apache.crimson.jaxp.DocumentBuilderFactoryImpl")))
> > '(jde-run-option-application-args (quote ("catalina")))
> > '(jde-bug-debugger-command-timeout 30)
> > '(jde-db-source-directories (quote
>("/home/azure/projects/software/hacks/tomcat-test/src/main/org/jboss/test/tomcat/ejb/interfaces"
>
>"/home/azure/projects/software/hacks/tomcat-test/src/main/org/jboss/test/tomcat/ejb/bean"
>
>"/home/azure/projects/software/hacks/tomcat-test/src/main/org/jboss/test/tomcat/servlet")))
> > '(jde-debugger (quote ("jdb")))
> > '(jde-db-option-classpath (quote ("$JAVA_HOME/lib/tools.jar"
>"/usr/local/jboss/jboss/bin/run.jar" "/usr/local/jboss/jboss/lib/crimson.jar")))
> > '(jde-db-option-vm-args (quote
>("-Djavax.xml.parsers.SAXParserFactory=org.apache.crimson.jaxp.SAXParserFactoryImpl"
>"-Djavax.xml.parsers.DocumentBuilderFactory=org.apache.crimson.jaxp.DocumentBuilderFactoryImpl")))
> > '(jde-run-application-class "org.jboss.Main"))
> > -------------------------------------------------------------------
> >
> > My Emacs configuration is over 200kB, so I don't include it :)
> > Although everything is possible, I very much doubt that something
> > in there would magically cause JDE+1.4.0 combination to break this
> > way. My JDE-specific configuration consists of only:
> >
> > -------------------------------------------------------------------
> > (push '("\\.java$" . jde-mode) auto-mode-alist)
> > (autoload 'jde-mode "jde" "Major mode for Java applications and applets." t)
> >
> > (setq jde-enable-abbrev-mode t)
> > (setq jde-gen-comments nil)
> >
> > (defun se::java-mode-hook ()
> > (local-set-key (kbd "ESC TAB") 'jde-complete-at-point-menu)
> > (setq c-basic-offset 2))
> >
> > (add-hook 'java-mode-hook 'se::java-mode-hook)
> > -------------------------------------------------------------------
> >
> > Now, if I try to use JDEbug instead of jdb, Emacs just hangs when I
> > select "JDE -> Debug App". After the timeout (controlled by
> > jde-bug-debugger-command-timeout I believe), I get
> >
> > -------------------------------------------------------------------
> > No response to command 1. (process = 1; timeout = 30 sec.)
> > -------------------------------------------------------------------
> >
> > to the *Messages* and *JDEbug* contains:
> >
> > -------------------------------------------------------------------
> > cd /usr/local/jboss/jboss/bin
> > /usr/local/j2sdk/bin/java -classpath
>/home/azure/share/emacs21/site-lisp/jde-2.2.9beta9.1/java/lib/jde.jar:/usr/local/j2sdk/lib/tools.jar
> jde.debugger.Main
> >
> >
> > (jde-dbo-init-debug-session)
> >
> > JDE> -1 1 launch 1 -vmexec java -classpath
>/usr/local/j2sdk/lib/tools.jar:/usr/local/jboss/jboss/bin/run.jar:/usr/local/jboss/jboss/lib/crimson.jar
> -Djavax.xml.parsers.SAXParserFactory=org.apache.crimson.jaxp.SAXParserFactoryImpl
>-Djavax.xml.parsers.DocumentBuilderFactory=org.apache.crimson.jaxp.DocumentBuilderFactoryImpl
> org.jboss.Main catalina
> >
> >
> > (jde-dbo-message
> > 1 "Launched VM Java Debug Interface (Reference Implementation)
> > version 1.4
> > Java Debug Wire Protocol (Reference Implementation) version 1.4
> > JVM Debug Interface version 1.2
> > JVM version 1.4.0 (Java HotSpot(TM) Client VM, mixed mode)")
> >
> >
> > (jde-dbo-message 1 "initSIOConnect: starting standard I/O
> > handshake.")
> >
> >
> > (jde-dbo-message 1 "initSIOConnect: starting SIO connect thread.")
> >
> >
> > (jde-dbo-command-result 1 37059)
> >
> >
> > (jde-dbo-message
> > 1 "Debugger waiting for Emacs to connect to app SIO port 37059.")
> >
> >
> > (jde-dbo-event-set
> > 1 "all"
> > (list "Thread" 1 "main" "runnable" "suspended by debugger"
> > (list)
> > "VM has no information"
> > "VM has no information")
> > (list 'jde-dbo-vm-start-event))
> >
> >
> > (jde-dbo-error 1 "Gave up waiting for Emacs to connect to SIO port:
> > 37059")
> > -------------------------------------------------------------------
> >
>
>