< prev index next >
src/hotspot/share/prims/jvmtiExport.cpp
Print this page
@@ -2576,11 +2576,11 @@
typedef jint (JNICALL *OnAttachEntry_t)(JavaVM*, char *, void *);
}
jint JvmtiExport::load_agent_library(const char *agent, const char *absParam,
const char *options, outputStream* st) {
- char ebuf[1024];
+ char ebuf[1024] = {0};
char buffer[JVM_MAXPATHLEN];
void* library = NULL;
jint result = JNI_ERR;
const char *on_attach_symbols[] = AGENT_ONATTACH_SYMBOLS;
size_t num_symbol_entries = ARRAY_SIZE(on_attach_symbols);
@@ -2626,10 +2626,12 @@
if (on_attach_entry == NULL) {
// Agent_OnAttach missing - unload library
if (!agent_lib->is_static_lib()) {
os::dll_unload(library);
}
+ st->print_cr("%s is not available in %s",
+ on_attach_symbols[0], agent_lib->name());
delete agent_lib;
} else {
// Invoke the Agent_OnAttach function
JavaThread* THREAD = JavaThread::current();
{
@@ -2652,13 +2654,18 @@
} else {
delete agent_lib;
}
// Agent_OnAttach executed so completion status is JNI_OK
- st->print_cr("%d", result);
+ st->print_cr("return code: %d", result);
result = JNI_OK;
}
+ } else {
+ st->print_cr("%s was not loaded.", agent);
+ if (*ebuf != '\0') {
+ st->print_cr("%s", ebuf);
+ }
}
return result;
}
#endif // INCLUDE_SERVICES
< prev index next >