Hello:
I've some questions with regard to debugging and profiling
Java applications. Can you help me, please?
1. Why do we need some parameters to enable the debugging on the start of an application, but we don't need them to enable the profiling? Doesn't the profiling require an agent as debugging does?
2. I've seen that one can debug an application choosing its PID (process ID) or connecting to a socket indicated on the start-up of that application, which allows to debug a remote JVM for example. Why can't we use a socket to profile too?
I've read that JVMTI (Java Virtual Machine Tools Interface) replaced JVMPI (Java Virtual Machine Profiling Interface) and JVMDI (Java Virtual Machine Debug Interface), so I expected an uniform or homogeneus behaviour.
Thank you!