In the JVMTI documentation for GetStackTrace there is a code snippet outlining how to use the functionality: jvmtiFrameInfo frames[5]; jint count; jvmtiError err; err = (*jvmti)->GetStackTrace(jvmti, aThread, 0, 5, &frames, &count); if (err == JVMTI_ERROR_NONE && count >= 1) { char *methodName; err = (*jvmti)->GetMethodName(jvmti, frames[0].method, &methodName, NULL); if (err == JVMTI_ERROR_NONE) { printf("Executing method: %s", methodName); } } There are two errors in the code: 1. The 5th argument to GetStackTrace (frames) should not have an ampersand 2. GetMethodName takes 5 parameters, but the example only passes four parameters to it