eclipse总结-debug
快捷键
f5:进入方法中
f6:单行执行
f7:跳出方法
清除断点方法:
run-----removebreakpoint
debug模式

断点

条件断点





异常断点



监视点



查看变量的内容watch

逻辑结构



环境变量


Drop to Frame



过滤


Inspect




远程debug
前提:远程服务器上运行的WEB项目class对应的源码与本地项目中必须保持一致,也就是远程tomcat部署的项目就是本机项目打包过去的,而本机项目没有发生变动。
步骤
第一种:
在startup.sh文件的开头加上
declare -x CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=6666"
不可换行

第二种
服务器如果是window的tomcat:
把tomcat/bin/catalina.bat配置文件里的
set JPDA=
后面加上
SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000

服务器如果是linux的tomcat
在tomcat的catalina.sh文件的正文的第一行添加:
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"
启动远程主机上的tomcat
/usr/local/bin/apache-tomcat-7.0.69/bin/startup.sh
ps aux|grep tomcat
监控tomcat状况

可以看到配置是成功的
其中6666是我们自定义的用于调试的端口号,可以自己指定
-Xdebug是通知JVM工作在DEBUG模式下,
-Xrunjdwp是通知JVM使用(Java debug wire protocol)来运行调试环境。该参数同时了一系列的调试选项:
transport指定了调试数据的传送方式
dt_socket 是指用SOCKET模式
server=y/n VM 是否需要作为调试服务器执行。
suspend=y/n 是否在调试客户端建立连接之后启动 VM 。
如果您刚开始就想调试的话,将参数设置为"suspend=y",这样Eclipse会远程连接Java应用程序。
如果你想先运行项目,然后连接Eclipse,那么可以将参数设置为"suspend=n",这样的话,Java应用程序会正常运行,之后Eclipse会开始远程连接。
- 调试客户端
针对项目-》右击-》debug as-》debug configuration


如果你想从Eclipse中关闭运行在Linux平台上的 Java应用程序,请选中"Allow termination of remote VM”复选框。
注意:
报错Failed to connect to remote VM. Connection timed out.

设置的时间都大点
报错:Failed to connect to remote VM. Connection refused. Connect
方法1:要改为native,这个原因是Eclipse 代理设置问题

方法2:
服务是在root 账户下启动的,关掉服务杀掉进程,然后用普通用户登录重启服务!
方法3:
可以调试端telnet 192.168.0.118 8000 看能不能进入,进入不了就是没有开放
设置的这个debug端口,服务器端防火墙没有开放,所以要开放这个端口,比如这里

esc shift+zz 保存文件
service iptables restart 重新启动
- 点击debug,运行效果如下,接下去,就和本地调试一模一样。
访问,就能够用断点进行拦截

浙公网安备 33010602011771号