aboutsummaryrefslogtreecommitdiff
path: root/agent/src/os/linux/LinuxDebuggerLocal.c
diff options
context:
space:
mode:
Diffstat (limited to 'agent/src/os/linux/LinuxDebuggerLocal.c')
-rw-r--r--agent/src/os/linux/LinuxDebuggerLocal.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/agent/src/os/linux/LinuxDebuggerLocal.c b/agent/src/os/linux/LinuxDebuggerLocal.c
index 0d3960f7a..d250ce5d6 100644
--- a/agent/src/os/linux/LinuxDebuggerLocal.c
+++ b/agent/src/os/linux/LinuxDebuggerLocal.c
@@ -209,9 +209,12 @@ JNIEXPORT void JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal_at
verifyBitness(env, (char *) &buf);
CHECK_EXCEPTION;
+ char err_buf[200];
struct ps_prochandle* ph;
- if ( (ph = Pgrab(jpid)) == NULL) {
- THROW_NEW_DEBUGGER_EXCEPTION("Can't attach to the process");
+ if ( (ph = Pgrab(jpid, err_buf, sizeof(err_buf))) == NULL) {
+ char msg[230];
+ snprintf(msg, sizeof(msg), "Can't attach to the process: %s", err_buf);
+ THROW_NEW_DEBUGGER_EXCEPTION(msg);
}
(*env)->SetLongField(env, this_obj, p_ps_prochandle_ID, (jlong)(intptr_t)ph);
fillThreadsAndLoadObjects(env, this_obj, ph);