开发工具:
文件大小: 1mb
下载次数: 0
上传时间: 2019-08-03
详细说明:NULL
博文链接:https://fly-hyp.iteye.com/blog/1997213创建完成 Request以后远程虚拟机会将
相应的 Event发送过来
EventRequestManager
创建各种 Request
create BreakpointRequest(Location
代码行断点
location)
createMethod Entry Request(
方法进入,退出
得到并处理各种事件
createMethodEXitRequesto
createMonitor WaitedRequestn
eventQueue vm eventQueueO
用于多线程调试
while(true)t
createMonitorWaitRequesto
eventset
createExceptionRequeoto
create StepRequesto
单步调试
eventQueue. remove(
Eventiterator eventiterator
create Thread DeathRequesto
create Thread StartRequesto
上下文信息
得到木地变量信息
得到虚拟机内部的各种信息
进一步逻辑
记录日志,或建立 Request增加
新的消息接收等
4. Request的各种 Filter
Request包含各种 Filter由于限制消息的范围,消息多了必然会影响性能,通过各种 Filter
可以仅关注有用的消息。下面列出 Filter的一些例子。
MethodEntry Request有下列 Filter
void addClassExclusion Filter(String class Pattern)
哪些类发生的事件,不被包含
void add class Filter( Reference Type refType
包含哪些类,通过接口或类的实例区分
void add ClassFilter(String classPattern)
包含哪些类
void addInstance Filter(objectReference instance)
实例过滤
void addThreadFilter(Thread Reference thread)
线程过滤
因为 Filter非常灵活,各种 Filter类型是不能通过界面型Java调试工具完仝驾驭的。直接使
用JDI将更加灵活和强大。
JDI Javadoc地址
http://docs.oracle.com/iavase/7/docs/idk/api/ipda/idi/index.htm
JDI可以实现的创意功能
1.VSCM以外调试代码
以下是一个方案可以解决Jva在VSCM中调试VSCM外代码的问题
VsM内
2.在开发者虚拟机上浏览
接收访问 Debug断点源
源代码
文件信息的 Agent
1.需要浏览源代码时,向∨M内的服务器发送,
源文件路径,代码行, OECUser№ame
在开发机上运行 Debug工其
功能:
部署环境开放 Java Debug端
创建断点,
口8000
Step Into
Step over
Stop out
调试上具在ⅤSCM外面,可以不受ⅤVSCM限制的连接各个环境的虚拟机。在调试L具需要
査看源代码时,再访问VSCM中的源代码服务程序,然后在ⅤSCM中査看相关的源代码。
2.跟踪方法的执行时间
通过直接使用」D记录相关方法的执行时间,是没有侵入性的,而且简单。
例如
可以跟踪某个包下所有方法的运行时间
可以跟踪实现某个 Interface的所有方法的运行时间
3.添加方法的传入参数口志
般使用调试工具,只能在方法入口处设置断点,然后查看传入参数的情况。这样必须
长时间的中断线程的运行。
如果通过程序的方式,就可以儿乎不中断线程执行,记录关注的方法的传入参数,记入
日志。通过查看日志的方式对于某些开发问题的调试
4.动态代码替换
VirtualMachine类中有如下方法
redefine Classes(Map extends ReferenceType, byte[]> classToBytes
可以将用编译后的 class文件替换远程虚拟中的运行类。
这个是 eclipse调试器中已有的功能,直接使用JDI也是挺简单的。
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.