jjzjj

instrumentation

全部标签

java.lang.ClassNotFoundException : org. springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader 错误

我将spring.jar文件放在我的lib文件夹中,但仍然存在类似错误atorg.apache.jsp.index_jsp._jspInit(index_jsp.java:23)atorg.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)atorg.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159)atorg.apache.jasper.servlet.JspServletWrapper.service(JspS

java - Cobertura : how to cover spring-data @Repository interfaces

关于以下信息:https://stackoverflow.com/a/14601831/704246Coberturadoesnotinstrumentinterfaces我想知道如何将spring-data接口(interface)添加到覆盖结果中,因为@Repository实现类仅由Spring在运行时声明和实例化。考虑以下接口(interface)://src/main/java/my/package/MyObjectRepository.java@RepositorypublicinterfaceMyObjectRepository{MyObjectfindMyObjectBy

java - 如何在 asm 代码中正确使用 Instrumentation.retransformClasses()?

我正在使用asm库执行一些Java字节码修改-特别是修改我的类以实现新接口(interface)和相关方法。我当前的方法是通过javaagent使用核心asmAPI。我想保留这种动态方法,而不是静态修改.class文件。在更高层次上,我的问题是,如果我选择修改从B扩展的类A,我还需要修改B。(根据我对类在JVM中加载方式的理解,我相信类B将始终在A类之前交给变压器。(如果我错了,请纠正我)。鉴于该假设,我认为我需要返回并重新转换B。我的方法在这段代码中被捕获:publicbyte[]transform(ClassLoaderl,Stringname,Classclazz,Protect

java - 在Java中创建数组时是否调用了Object构造函数?

在Java中,数组是一个对象。我的问题是......创建新数组时是否调用了对象构造函数?我们想使用这个事实来使用一些额外的字节码来检测Object构造函数,这些字节码检查正在构造的数组的长度。那行得通吗? 最佳答案 根据JVMspec:“数组是使用一组不同的指令创建和操作的。”因此,虽然数组是对象的实例,但它们的初始化方式与其他对象不同(如果您从该链接anchor向上滚动,您会看到这一点)。 关于java-在Java中创建数组时是否调用了Object构造函数?,我们在StackOverf

java - 如何使用没有进一步调用的 JVMTI 代理重新转换执行方法?

出于各种目的,我在运行时检测类文件。为此,我正在使用JVMTI代理。我检测方法的策略是调用RetransformClasses函数来调用ClassFileLoadHook。此策略适用于所有在检测后有任何进一步调用的方法,因为实际检测发生在后续函数调用时,但它不适用于任何没有进一步调用的方法,如main在程序中运行。我想在执行过程中即时检测方法。我想要一些程序,例如检测代码的堆栈替换(OSR)。JVMTI或任何其他方法中是否有可用的策略????PS:如果有帮助,我愿意编辑/修补OpenJDK源代码。 最佳答案 经过进一步思考,我相信您

java - Time Profiler、Instruments、OS X 中缺少 JAVA 过程名称

我正在使用Java编写算法实现。在OSX10.7之前,我使用SharkProfiler来分析我的实现,效果相当好。但是,新的Instruments不再找到过程名称。我已经尝试使用shark的VM参数(即-agentlib:Shark)运行java应用程序,但是10.7不知道它们,而且我找不到这样的仪器agentlib。关于如何将过程名称附加到Insturments中的符号名称(这是一些十六进制数字)的任何想法?我正在使用EclipseIndigo,如果这有什么不同的话。谢谢!编辑:到目前为止,OSXMountainLion没有任何变化。编辑#2:来自(?)开发人员通过apple的错误报

java - 如何检测 java 系统类?

我正在尝试向系统类(FileInputStream/FileOutputStream)添加自定义行为。我使用以下转换方法编写了自定义ClassFileTransformer:publicbyte[]transform(ClassLoaderarg0,Stringarg1,Classarg2,ProtectionDomainarg3,byte[]arg4)throwsIllegalClassFormatException{System.out.println("classname:"+arg1);returnarg4;}当我运行示例程序时:publicstaticvoidmain(Str

java - 使用 Attach Api 时出错

在Eclipse中使用附加API时在控制台中抛出错误。为了使用附加API,我在eclipse中安装了JRE,然后使用编辑选项在当前JRE的外部jars选项中包含了tools.jar。但是当我尝试执行一个简单的程序时,它会抛出以下错误java.lang.UnsatisfiedLinkError:noattachinjava.library.pathcom.sun.tools.attach.AttachNotSupportedException:noprovidersinstalledatcom.sun.tools.attach.VirtualMachine.attach(VirtualM

java - 调试 Java 代理

我目前正在开发JavaAgent为了促进新旧Java应用程序的动态检测。我突然想到,就IDE调试而言,Java代理可能被认为是一种特殊情况,因为它们需要注入(inject)到目标JVM进程中才能运行。因此,这自然会引发一个问题,即如何调试、测试和分析代理类型的应用程序。对现有解决方案的粗略搜索显示了一些基于命令行的选项(即YourKit、JIP等),但其中许多在底层也是Java代理。如果使用它,至少在我看来,会导致代理调试/分析另一个代理的相当奇怪的场景。我知道代理可以分层排列,但是我不确定代理应用程序是否可以通过在此庄园中堆叠代理来调试。 最佳答案

c++ - 如何轻松知道编译器选择了哪些特殊成员函数?

覆盖每个特殊成员函数的朴素方法,并在每个函数的主体中插入printf或cout(例如C++:ImplicitMemberFunctions此处为SO;VandevoordeandJosuttis称之为“示踪剂”),不上诉:侵入性的,在代码库增量方面O(n),其中n=|classes|,根据努力可能的观察者效应将-E(或-save-temps)赋给g++会导致后者为每个源发出一个.ii文件>.cpp(或.cxx)文件;在这样的.ii中,源代码将用cpp预处理器采取的确切步骤进行注释。理想情况下,我想要类似的东西,但源被注释为Foobaz;////Line55,choosingFoo::F