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

Reply via email to