< prev index next >

src/hotspot/share/prims/jvmtiExport.cpp

Print this page

        

*** 2473,2483 **** 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 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); --- 2473,2483 ---- 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] = {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);
*** 2523,2532 **** --- 2523,2534 ---- 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(); {
*** 2549,2561 **** } else { delete agent_lib; } // Agent_OnAttach executed so completion status is JNI_OK ! st->print_cr("%d", result); result = JNI_OK; } } return result; } #endif // INCLUDE_SERVICES --- 2551,2568 ---- } else { delete agent_lib; } // Agent_OnAttach executed so completion status is JNI_OK ! 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 >