Question about location of libdt_socket vs libdt_shmem

Alan Bateman Alan.Bateman at oracle.com
Wed May 3 07:03:04 UTC 2017


On 03/05/2017 07:43, Thomas Stüfe wrote:

> Hi all,
>
> I wonder why the sources of the transport libraries are located in 
> different places:
>
> jdk/src/jdk.jdwp.agent/share/native/libdt_socket
> jdk/src/jdk.jdi/share/native/libdt_shmem
>
> Is there a particular reason to this?
>
> Seeing as they both are implementations of the jdwp sp interface, I 
> would have expected them to be located side by side?
>
jdk.jdwp.agent is the backend/debuggee side so it has the JDWP agent and 
should contain the transport libraries used by the JDWP agent.

jdk.jdi is the frontend/debugger side so it has the JDI API and the 
connector and transport services that JDI uses.

For the shared memory transport then it should ideally be split so that 
a reduced libdt_shmem is in jdk.jdwp.agent and the JDI side is is 
jdk.jdi. Refactoring is needed to do this right and just hasn't been a 
priority.

BTW: Having it in jdk.jdi isn't actually too bad because the shared 
memory transport is local (debugger and debuggee on the same machine). 
Also it tends to be used by the launching connector which is in jdk.jdi.

-Alan


More information about the serviceability-dev mailing list