java 插桩 工具_一个基于Eclipse的通用Java程序插桩工具.pdf

第38卷第7期 计算机科学 V01.38NO.7

Science 2011

2011年7月 Computer July

一个基于Eclipse的通用Java程序插桩工具

郑晓梅

(南京中医药大学信息技术学院 南京210046)

(南京大学计算机软件新技术国家重点实验室 南京210093)

摘要插桩技术作为一种有效理解程序动态行为的手段,已经被广泛应用于程序分析、测试和验证中。然而,由于

缺少通用的插桩工具,各种具体的应用往往需要从头开发特定的插桩程序,存在着大量的重复性工作。此外,由于在

原始程序中插入了大量额外代码,致使调试过程变得更加复杂和困难。针对这些问题,提出了一个基于Eclipse的通

用Java代码插桩工具,即通过规则定义匹配程序的执行点,从而定制针对各种分析、测试和验证插桩需求的支持。通

过对插桩代码片段的显式/隐式切换实现其可见性管理,从而确保程序的理解和调试过程不受插桩代码影响。通过使

用该工具,可以更好地将插桩技术应用于Java程序开发中。

关键词程序插桩,Java,Eclipse插件

General InstrumentationToolBasedon

Java Eclipse

Program

Xiao-mei

ZHENG

(SchoolofInformation ofChinese 210046,China)

Technology,NanjingUniversity Medicine,Nanjing

forNovelSoftware 210093,China)

(StateKeyLaboratory Technology,NanjingUniversity,Nanjing

Abstract instrumentationhasbeen USedin andverificationasan

Program technique widely programanalysis,testing

effectivemethodfor the informationof theabsenceof instru—

understandingdynamic programs.However,forgeneral

mentationtools,different needtorecreatethe tool their time

applications specificmeetingrequirements,hencewasting

becauseof instrumentedcode

and becomemoreandmore the

addition,the processes complicated

energy.In debugging

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429079.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【FICO 汇率】汇率

汇率存储的表位TCURR 汇率维护的事务代码为:OB08 每一种货币汇率都有很多版本,按照时间有效性管理 汇率涉及的两种货币,第一个为从,第二个为到,一般换算比率都是1,但也有不是1的情况(主要是换算…

java 新窗口跳转页面_Java web开发中页面跳转小技巧——跳转后新页面在新窗口打开...

最近学习Java web,在学习过程中想实现一个需求,就是在jsp页面跳转的时候,希望跳转后的新页面在新窗口中打开,而不是覆盖原来的页面,这个需求使我困惑了好长时间,后来通过大海捞针似的在网上寻找方法&#x…

分辨率到底是个什么概念?它和DPI之间是什么关系?

"分辨率"到底是个什么概念?它和DPI之间是什么关系? 分辨率:显示分辨率(屏幕分辨率)是屏幕图像的精密度,是指显示器所能显示的像素有多少。由于屏幕上的点、线和面都是由像素组成的,显…

mysql.w002_mysql简单例子

登陆数据库:mysql -u用户名 -p密码 -P端口 -h数据库地址‍‍‍‍‍‍修改mysql提示符:(仅本次连接有效)‍‍‍‍‍‍方法一:执行mysql -uroot -proot -prompt \h结果为:localhost方法二:进入mysql后,执行PR…

mysqli mysql的区别_phpmysqli和mysql区别详解

本文介绍下,php中有关mysqli与mysql类的一些区别,有需要的朋友,可以作个参考哦。一,PHP-MySQL 是 PHP 操作 MySQL 资料库最原始的 Extension ,PHP-MySQLi 的 i 代表 Improvement ,提更了相对进阶的功能。PD…

JQuery中的Deferred-详解和使用

首先,为什么要使用Deferred? 先来看一段AJAX的代码: 1 var data; 2 $.get(api/data, function(resp) { 3 data resp.data; 4 }); 5 doSomethingFancyWithData(data); View Code 这段代码极容易出问题,请…

ps aux grep java_linux命令ps-aux监控java进程

linux下用ps -aux可以监控java的进程情况。linux根据内核的不同对每个进程分配的最大使用内存不同,如果是32位机器,cpu最大的寻址空间是2的32次方,4G,但内核分配给每个进程最大的内存肯定是小于4G,经过重新编译的内核分…

【Eclipse】eclipse在线安装反编译插件

1.help->install new software 2.Add Name:jd-eclipse_update_site Location:http://jd.benow.ca/jd-eclipse/update 3.等待加载出来 4.持续点击下一步,直到完成。 转载于:https://www.cnblogs.com/flydkPocketMagic/p/7170283.html

java一维数组存入_java一维数组

1.通过数组名进行赋值,其实质是引用比如数组array1和数组array2若执行array2array1,实际上将array1的引用传递给array2,array1和array2 最后都指向同一个数组,array2原来引用的数组被回收。例如:int [] array1{1,2,3};…

Spring Boot 系列(一)快速入门

简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应…

python代码编码成jni_python 设置文件编码格式的实现方法

如果要在python2的py文件里面写中文,则必须要添加一行声明文件编码的注释,否则python2会默认使用ASCII编码。(python3已经没有这个问题了,python3默认的文件编码是UTF-8)必须将编码注释放在第一行或者第二行,一般来说,Python文件的…

Entity Framework context per request

原文发布时间为:2011-09-24 —— 来源于本人的百度文章 [由搬家工具导入]http://www.blog.cyberkinetx.com/2011/05/15/entity-framework-context-per-request/Are you still using the?1234using(DBContext context newDBContext()){ ..}way of accessing the d…

Java commit()_Java XAResource.commit方法代码示例

import javax.transaction.xa.XAResource; //导入方法依赖的package包/类public void testSuspendableTx() throws Exception {if (!versionMeetsMinimum(5, 0)) {return;}Connection conn1 null;MysqlXADataSource suspXaDs new MysqlXADataSource();suspXaDs.setUrl(BaseTe…

python如何优雅判断类型

http://note.youdao.com/noteshare?id6f3a7963efc57b5d0b1c712654d100c6转载于:https://www.cnblogs.com/taiyang-li/p/7190195.html

java网络io_彻底搞懂Java的网络IO

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼java.io包基于流模型实现,提供File抽象、输入输出流等IO的功能。交互方式是同步、阻塞的方式,在读取输入流或者写入输出流时,在读、写动作完成之前,线程会一直阻塞。java.io包的好处是…

1. 在虚拟机中 添加内容

步骤: 1. 找到要添加的内容,按住 ctrl c 复制 ,例如:复制 飞秋 2. 打开 虚拟机,找到 要复制文件的位置。 3. 将 复制的文件添加到 共享文件夹下面。 4. 打开虚拟机,安装飞秋 5, 最后就完成了…

JavaScript设计模式-10.工厂模式实例xhr

1 <!DOCTYPE html>2 <html>3 <head>4 <meta charset"UTF-8">5 <title>Javascript高级语法10-工厂模式实例xhr</title>6 </head>7 <body>8 <script>9 //接口…

java web scala_spring boot+scala编写web接口

本人是Java开发者&#xff0c;有面向对象的基础&#xff0c;而Scala也是面向对象的语言&#xff0c;学习后可快速入门。通过学习Scala的面向对象(和java面向对象类似)、Scala的高级函数(map,reduce等&#xff0c;和Java8中的stream编程类似)、Scala的隐式转换(在Java中可通过sp…

java对象引用出错_上传图片错误:尝试在空对象引用上调用虚拟方法’java.lang.String android.net.Uri.getLastPathSegment()’...

我有“用相机捕获图像”的问题,并将其存储到Firebase中.我认为该代码是正确的,因为它可以与“从图库中选择图像”一起使用.捕获完图像后,该应用程序停止了,并且没有存储在数据库中.我认为这对于android M和N是个问题.我只是看到其他类似的问题,但它们对我不起作用.我为此寻求帮…

数组的运用

一、数组的概念以及定义&#xff1a; 1、 数组是存储同一种数据类型多个元素的集合&#xff0c;也可以看作是一个容器。 2、数组既可以存储基本数据类型&#xff0c;也可以存储引用数据类型。 二、一维数组&#xff1a; 1、一维数组的定义&#xff1a; 数据类型 [ ] 数组名 ne…