When a profiling session cannot be established, the first thing to do is to have a look at the terminal output of
the profiled application or application server. For application servers, the stderr stream is often written to a
log file. This may be a separate log file and not the main log file of the application server. For example, the
Websphere application server writes a native_stderr.log
file where only the stderr output is
included. Depending on the content of the stderr output, the search for the problem takes different directions:
If stderr contains "Waiting for connection ..."
, the configuration of the profiled application
is ok. The problem might then be related to the following questions:
-agentpath:<path to jprofilerti library>=port=25000
, a port of 25000 would be used.
If stderr contains an error message about not being able to bind a socket, the port is already in use. In that case, check the following questions:
If there are no lines in stderr that are prefixed with JProfiler>
and your application or
application server starts up normally, the -agentpath:[path to jprofilerti library]
VM parameter has not been included in the Java call. You should find out which java call in your startup script
is actually executed and add the VM parameters there.