2016-01-12 26 views
1

我一直在试图从仪表方法中获取数值。使用$ 1,$ 0来获取参数值和当前对象变量工作正常。但是现在我想从该方法中使用的对象中获取价值。如何使用javaagent访问仪表化方法的变量?

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

conn.getURL() 

它抛出CannotCompileException说没有名为conn类。

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

回答

0

按照Javassist Tutorial$0this$1开始是参数),所以你可以使用

$0.conn.getURL() 

$0.getConnection().getURL() 

访问连接。