① 远程debug调试java代码
①1 主动连接调试
首先需要远程服务配置启动脚本:
如果是启动jar包,指令:
这里-Xdebug是通知JVM工作在DEBUG模式下,-Xrunjdwp是通知JVM使用(java debug wire protocol)来运行调试环境.
transport是监听Socket端口连接方式(也可以dt_shmem共享内存方式,但限于windows机器,并且服务提供端和调试端只能位于同一台机).
远程服务(tomcat/jboss)启动成功后,本地Eclipse对需要调试的地方打上断点,
然后项目右键启动远程调试:Debug as-Debug Configurations-Remote Java Application.
Host为远程主机IP,Port为远程监听调试端口,Connection Type为:Standard(Socket Attach),
首先需要Eclipse配置监听,如主动连接调试的Eclipse配置图片,Connection Type选择:
然后配置远程服务启动脚本:
如果是调试jar包,指令:
参数含义和主动连接调试一样,只是这里suspend=y表示启动时就中断,需要连接本地IDE调试启动.
address=ip:port,ip需要修改为本地的对外IP.
这样远程项目启动时就连接到本地,方便调试项目启动不了的问题.
采用打断点的方式,可以观察变量值的变化,从而起到调式程序的作用.
在需要调试的代码前面打断点.
通过Debug Character方式运行程序.
注:执行过程中将光标移到变量下面,可以查看每一步变量的值.
如下图:
最基本的操作是:
①., 首先在一个java文件中设断点,然后运行,当程序走到断点处就会转到debug视图下,
也就是执行本行代码,跳到下一行,
breakpoints,还有其他的断点类型:field(watchpoint)breakpoint,method
breakpoint,exception breakpoint.
①.0.field breakpoint 也叫watchpoint(监视点) 当成员变量被读取或修改时暂挂
①.1.添加method breakpoint 进入/离开此方法时暂挂(Run-method breakpoint)
①hit count 执行多少次数后暂挂 用于循环
①debug.断点调试.
Proxy).动态代理是一个特定的Java特性,它允许开发者引入proxy类,加进某一给定类之前,并通过某一给定接口截获所有调用.你可以在很短时间内用一个普通代理设置一个虚拟事件处理器,来查看事件发生顺序.当需要理解事件处理器时这是最简单和快捷的方法.
Profiler).剖析器是通过特定的JVM
hooks在系统中跟踪所有调用的强大工具.但是用它来跟踪执行过程是大才小用.
以上就是土嘎嘎小编为大家整理的java工程代码调试相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!