You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by "Bryan D. Fish" <bf...@security-works.com> on 2008/09/12 18:10:40 UTC

Remote debugging via shmem, Tomcat as a service

I'm trying to get remote debugging working with Tomcat using a shared memory
connection.  I've been calling it remote debugging but the server and debug
client (my IDE) are on the same host.

 

Everything works well when I start Tomcat from the command line
(bin/startup.bat).  I have the following JAVA_OPTIONS set in my environment
variables:

 

-Xdebug -Xrunjdwp:transport=dt_shmem,address=jdbconnect,server=y,suspend=n

 

I can connect to the debugger with my IDE (JCreator 4.50.010) and debug
happily.  I can also see that the debugger is listening on that shared
memory address in stdout.

 

However, when I start Tomcat as a service, the shared memory connection
seems to be unavailable.  I have set the following Java Options in the
"Configure Tomcat" panel:

 

-Xdebug -Xrunjdwp:transport=dt_shmem,address=jdbconnect,server=y,suspend=n

 

My IDE can't connect to the shmem address, and the log (logs/stdout.log)
doesn't show anything about the debugger listening.

 

I'm running Tomcat 5.0.28, jdk 1.5.0_16, on Windows XP SP2.

 

 

Thanks in advance for any ideas & suggestions.

 

Cheers,
Bryan


Re: Remote debugging via shmem, Tomcat as a service

Posted by Konstantin Kolinko <kn...@gmail.com>.
2008/9/12 Bryan D. Fish <bf...@security-works.com>:
> I'm trying to get remote debugging working with Tomcat using a shared memory
> connection.  I've been calling it remote debugging but the server and debug
> client (my IDE) are on the same host.
>
> Everything works well when I start Tomcat from the command line
> (bin/startup.bat).  I have the following JAVA_OPTIONS set in my environment
> variables:
>
> -Xdebug -Xrunjdwp:transport=dt_shmem,address=jdbconnect,server=y,suspend=n
>
> I can connect to the debugger with my IDE (JCreator 4.50.010) and debug
> happily.  I can also see that the debugger is listening on that shared
> memory address in stdout.
>
> However, when I start Tomcat as a service, the shared memory connection
> seems to be unavailable.  I have set the following Java Options in the
> "Configure Tomcat" panel:
>
> -Xdebug -Xrunjdwp:transport=dt_shmem,address=jdbconnect,server=y,suspend=n
>
> My IDE can't connect to the shmem address, and the log (logs/stdout.log)
> doesn't show anything about the debugger listening.
>
> I'm running Tomcat 5.0.28, jdk 1.5.0_16, on Windows XP SP2.
>
> Thanks in advance for any ideas & suggestions.
>
> Cheers,
> Bryan
>

Hi, Bryan!

I would try running Tomcat service with your own user account,
instead of the default Local System one. Maybe that will help
you.

BTW:
The JPDA documentation says that the Shared Memory Transport
is implemented using memory-mapped files. You may try to dig there,

http://msdn.microsoft.com/en-us/library/aa366551(VS.85).aspx
http://msdn.microsoft.com/en-us/library/aa366559(VS.85).aspx

Best regards,
Konstantin Kolinko

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org