Friday, 17 December 2010

JBoss stops with "Listening for transport dt_socket at address: 8787" message - change your debug startup settings

Hopefully someone out there finds this helpful.
I was trying to start Jboss in debug mode, so I went into
{JBOSS]/bin/run.bat and uncommented this:
rem JPDA options. Uncomment and modify as appropriate to enable remote
debugging.
set JAVA_OPTS=%JAVA_OPTS% -Xdebug
-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y

I then started up JBoss manually and on the screen it seemed to hang
at this message:
Listening for transport dt_socket at address: 8787

I had a look at the debug settings that IntelliJ recommends to use in
"Run -> Edit Configurations" and noticed that it was slightly
different:
-Xdebug -Xrunjdwp:transport=dt_socket,address=3599,suspend=n,server=y
notice the difference, aside from the port?? "suspend" has a value of
"n" instead of "y".
Turns out that "suspend=y" means it will not run until a debugger
attaches itself to the process. In most cases, you will probably want
to use "suspend=n" instead. I think "suspend=y" is mainly useful if
you're trying to track down things that occur on startup of the
webapp. If the part you're interested in will only happen after a user
action, it's best to use "suspend=n".

Useful reference:
http://download.oracle.com/javase/1.5.0/docs/guide/jpda/conninv.html

5 comments:

Cameron said...

Thank you, I did find this helpful.

Abhinav said...

It Helped and was useful though.
It wasted couple of hours of mine untill i saw your blog.

Cheers!!!
Abhinav

Gaurang said...

Thanks. It was helpful!!

Gaurang said...

Thanks! It was helpful..

entityvsentityv2@gmail.com said...

thanks a lot. Very helpful.