大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1.debug。断点调试。
成都创新互联公司是一家专业提供沈阳企业网站建设,专注与网站建设、成都网站制作、H5开发、小程序制作等业务。10年已为沈阳众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
2.输出消息。system.out.println();来调试。
3.动态代理(Dynamic
Proxy)。动态代理是一个特定的Java特性,它允许开发者引入proxy类,加进某一给定类之前,并通过某一给定接口截获所有调用。你可以在很短时间内用一个普通代理设置一个虚拟事件处理器,来查看事件发生顺序。当需要理解事件处理器时这是最简单和快捷的方法。
4.运行时剖析器(Run-time
Profiler)。剖析器是通过特定的JVM
hooks在系统中跟踪所有调用的强大工具。但是用它来跟踪执行过程是大才小用。
5.Aspects。面向方面编程。它是截获你的代码执行既快速又容易的方法。你可以围绕方法、构造器、属性访问等等有选择地设置hook,而不需要修改原始代码。在这些hook中,你可以打印调试消息。
1.2常用的。3.4.5网上找的。
1. 远程debug调试java代码
1.1 主动连接调试
首先需要远程服务配置启动脚本:
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"
如果是启动jar包,指令:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -jar test.jar
这里-Xdebug是通知JVM工作在DEBUG模式下,-Xrunjdwp是通知JVM使用(java debug wire protocol)来运行调试环境。
transport是监听Socket端口连接方式(也可以dt_shmem共享内存方式,但限于windows机器,并且服务提供端和调试端只能位于同一台机)。
server=y表示当前是调试服务端,=n表示当前是调试客户端。suspend=n表示启动时不中断(如果启动时中断,一般用于调试启动不了的问题)。
address=8000表示本地监听8000端口。
远程服务(tomcat/jboss)启动成功后,本地Eclipse对需要调试的地方打上断点,
然后项目右键启动远程调试:Debug as-Debug Configurations-Remote Java Application。
Host为远程主机IP,Port为远程监听调试端口,Connection Type为:Standard(Socket Attach),
点击Debug,然后打断点,远程服务运行到断点处本地就会中断,然后进行调试。
1.2 被动连接调试
首先需要Eclipse配置监听,如主动连接调试的Eclipse配置图片,Connection Type选择:
Standard(Socket Listen),配置本地监听端口,比如默认8000。点击Debug开始等待远程连接调试。
然后配置远程服务启动脚本:
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8000,suspend=y"
如果是调试jar包,指令:
java -Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8000,suspend=y -jar remoting-debug.jar
参数含义和主动连接调试一样,只是这里suspend=y表示启动时就中断,需要连接本地IDE调试启动。
address=ip:port,ip需要修改为本地的对外IP。
这样远程项目启动时就连接到本地,方便调试项目启动不了的问题。
1、以一个1到100求累加和的小程序为例进行说明。程序代码,第一步,双击各行左侧对应区域添加断点。
2、根据程序代码,设置预期的端点,设置完毕后,左侧会出现图标作为标记。
3、在代码窗口任意位置右击鼠标,先选择Debug As,再选择Java Application进入调试界面。
4、调试界面,点击左上方窗口上的绿色三角箭头按钮开始调试,每点击一下,程序运行一步,即从开始运行到第一个断点,在从第一个断点到第二个,依次进行。
5、右上方窗口显示每一步运行后变量的值,可与预期结果进行比较,以便修改。左上方的红色按钮是终止调试键,按此可结束调试。图中所示是程序运行几步后的情况。
6、调试结束返回Java编码窗口。点击右上方表格形按钮,选择Java选项,即返回Java编码窗口,。