gpt4 book ai didi

java - 如何使用 javaagent 访问工具方法的变量?

转载 作者:太空宇宙 更新时间:2023-11-04 13:03:11 24 4
gpt4 key购买 nike

我一直在尝试从检测方法中获取值。使用 $1, $0 获取参数值和当前对象变量效果很好。但现在我想从该方法中使用的对象中获取值。

举个例子,假设我正在检测 org.h2.jdbc.JdbcPreparedStatement类(class)。我想通过使用方法主体中第 112 行中使用的 conn 变量来获取连接 url。 (JdbcConnection 类包含 url 作为属性)但是当我使用 as 时,

conn.getURL()

它抛出CannotCompileException,表示没有名为 conn 的类。

如何获取该 URL? javassist 是否有可能,或者我做错了什么?

最佳答案

根据Javassist Tutorial , $0 引用 this ($1 以后是参数),所以你可以使用

$0.conn.getURL()

$0.getConnection().getURL()

访问连接。

关于java - 如何使用 javaagent 访问工具方法的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34743394/

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