不是被调试者或没有监听要附加的调试器

Not a debuggee or not listening for a debugger to attach

我想将调试器附加到名为 Mamute 的 github 项目。 run.sh 连接应用程序。 cat run.sh阅读:

#!/bin/bash

SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

MAMUTE_DIR=$SCRIPT_DIR

TIMESTAMP=BUILD_TIMESTAMP

WEB_INF=${SCRIPT_DIR}/WEB-INF

java -cp ${WEB_INF}/classes/:${WEB_INF}/lib/* \
    -Ddeploy.timestamp=$TIMESTAMP \
    -Dvraptor.webappdir=${MAMUTE_DIR} \
    ${MAMUTE_OPTS} \
    br.com.caelum.vraptor.server.Main \
    not-grunt

我不知道"java -cp XXX"是什么意思。我知道这是一个网络应用程序,所以我尝试附加到 PID,就像我在 windows 中使用 visual studio 调试某些东西一样。

使用 "gksu /usr/bin/netbeans" 启动 netbeans 后,我转到顶部菜单 > 调试器 > 附加调试器 >

单击附加。错误:

Not a debuggee or not listening for a debugger to attach.

我是 运行 Debian。

这里你可以运行 mamut在调试模式下添加以下选项到run.sh

中的java命令
-Xdebug -Xrunjdwp:transport=dt_socket,address=1000,server=y,suspend=n

然后您必须在 netbeans 中附加调试器,选择 dt_socket 传输选项。

请注意,如果挂起是 'n',应用程序将立即启动,不会等待调试器附加到它。如果 'y',应用程序将被挂起,直到您附加到它。