mirror of
https://github.com/openjdk/jdk.git
synced 2026-04-11 15:38:44 +00:00
8164913: JVMTI.agent_load dcmd should show useful error message
Show useful error message Reviewed-by: dholmes, dsamersoff, sspitsyn
This commit is contained in:
parent
180c089047
commit
7a341735fe
@ -2407,9 +2407,7 @@ jint JvmtiExport::load_agent_library(const char *agent, const char *absParam,
|
||||
delete agent_lib;
|
||||
}
|
||||
|
||||
// Agent_OnAttach executed so completion status is JNI_OK
|
||||
st->print_cr("%d", result);
|
||||
result = JNI_OK;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
||||
@ -277,11 +277,12 @@ void JVMTIAgentLoadDCmd::execute(DCmdSource source, TRAPS) {
|
||||
|
||||
char *suffix = strrchr(_libpath.value(), '.');
|
||||
bool is_java_agent = (suffix != NULL) && (strncmp(".jar", suffix, 4) == 0);
|
||||
jint result = JNI_ERR;
|
||||
|
||||
if (is_java_agent) {
|
||||
if (_option.value() == NULL) {
|
||||
JvmtiExport::load_agent_library("instrument", "false",
|
||||
_libpath.value(), output());
|
||||
result = JvmtiExport::load_agent_library("instrument", "false",
|
||||
_libpath.value(), output());
|
||||
} else {
|
||||
size_t opt_len = strlen(_libpath.value()) + strlen(_option.value()) + 2;
|
||||
if (opt_len > 4096) {
|
||||
@ -298,14 +299,18 @@ void JVMTIAgentLoadDCmd::execute(DCmdSource source, TRAPS) {
|
||||
}
|
||||
|
||||
jio_snprintf(opt, opt_len, "%s=%s", _libpath.value(), _option.value());
|
||||
JvmtiExport::load_agent_library("instrument", "false", opt, output());
|
||||
result = JvmtiExport::load_agent_library("instrument", "false",
|
||||
opt, output());
|
||||
|
||||
os::free(opt);
|
||||
}
|
||||
} else {
|
||||
JvmtiExport::load_agent_library(_libpath.value(), "true",
|
||||
_option.value(), output());
|
||||
result = JvmtiExport::load_agent_library(_libpath.value(), "true",
|
||||
_option.value(), output());
|
||||
}
|
||||
|
||||
output()->print_cr("JVMTI agent attach %s.",
|
||||
(result == JNI_OK) ? "succeeded" : "failed");
|
||||
}
|
||||
|
||||
int JVMTIAgentLoadDCmd::num_arguments() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user