gpt4 book ai didi

java - 检测 Java 应用程序的执行(不仅仅是字节码)

转载 作者:行者123 更新时间:2023-11-30 11:48:48 24 4
gpt4 key购买 nike

我正在做一些 Java 应用程序检测。但是使用 ASM 或 BCEL 的可用检测工具只允许检测字节码。你们知道一些可以检测应用程序执行的工具吗(比如那些不仅存在于字节码中而且 JVM 做到了的东西)。

例如,如果应用程序有一个类 A

class A
{
int a;

public A()
{}
}

当我执行 A obj = new A() 时,字节码将不包含对 obj.a 的任何写入,但 JVM 会这样做,< strong>AFIK.

还有一些其他的东西是字节码无法捕获的。那么,你们能告诉我是否存在这样一个框架,可以捕获JVM 执行的操作。

最佳答案

如果您想完全控制仪器,理想情况下您需要完全访问源代码并能够修改它。否则,您将受字节码保留内容的支配。

我们的 DMS Software Reengineering Toolkit是一个程序转换系统,提供对源的这种访问。使用其 Java Front End , DMS 可以解析 (Java) 代码、构建 AST、对 AST 应用任意转换并重新生成经过检测的 Java 代码。

您选择检测什么取决于您。这paper on instrumenting code描述了如何构建经典的测试覆盖率,但思路很笼统。

关于java - 检测 Java 应用程序的执行(不仅仅是字节码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8627179/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com