首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两种远程调试方法

两种远程调试方法
EN

Stack Overflow用户
提问于 2015-05-26 08:54:34
回答 1查看 625关注 0票数 2

我有一个ubuntu服务器,我的应用程序运行在tomcat7中。现在我有两种远程调试方法,作为一名学习者,我想知道两者之间的技术区别是什么,还是两者是相同的,而我遗漏了什么?

方法1:打开文件/etc//tomcat7 7

#要启用远程调试,请取消对以下行的注释。 #您将能够在端口8000上使用java调试器。 #JAVA_OPTS="${JAVA_OPTS} -Xdebug Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n“

方法2

导出CATALINA_HOME=/usr/share/tomcat7 7出口CATALINA_BASE=/var/lib/tomcat7 7/ export JPDA_ADDRESS=8090导出JPDA_ADDRESS=8090 现在转到tomcat主文件夹/usr/share/ tomcat 7/bin,并编写以下行以在调试模式下运行tomcat。 #./catalina.sh jpda开始

方法2的另一件事是,当我启动jpda并且我的tomcat服务也在端口80上运行时,我被连接拒绝了,当我停止tomcat时,我能够远程连接到8090。WHy是这样吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-27 09:56:49

从技术上讲,它们是相同的,指的是catalina.sh:

代码语言:javascript
复制
if [ "$1" = "jpda" ] ; then
  if [ -z "$JPDA_TRANSPORT" ]; then
    JPDA_TRANSPORT="dt_socket"
  fi
  if [ -z "$JPDA_ADDRESS" ]; then
    JPDA_ADDRESS="8000"
  fi
  if [ -z "$JPDA_SUSPEND" ]; then
    JPDA_SUSPEND="n"
  fi
  if [ -z "$JPDA_OPTS" ]; then
    JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND"
  fi
  CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"
  shift
fi

在第二个问题上,当通过shutdown.sh阻止tomcat时,jpda端口仍然在侦听,您可以使用linux命令netstatlsof进行检查。我也遇到过同样的问题,我不知道为什么tomcat不处理它。

端口80上拒绝连接的错误可能与jpda选项无关。jdwp是JVM标志,不仅tomcat而且任何其他java应用程序都可以使用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30453928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档