[Soot-list] java.lang.VerifyError

Richard Xiao richardxx at cse.ust.hk
Wed Sep 5 02:13:34 EDT 2012


Your insertion violates some Java specifications. For example, in a
constructor function, the call the super constructor must be the first
statement. However, you place your instrumentation at the first position,
hence it invalidates the verifier.

best,
richardxx


On Wed, Sep 5, 2012 at 1:11 PM, 左小强 <xiaoqiang861025 at yahoo.cn> wrote:

> Hi all,
>
> I tried to obtain the runtime value of the operand in ConditionExpr
> (IfStmt). Therefore I use Soot to instrument the class file.
>
> I intend to insert the following function into the class file:
>
> *   public static void appendConExpr(java.lang.Object op1)*
>
> using the following statements:
>
> *   InvokeExpr conditionExpr = Jimple.v().newStaticInvokeExpr(*
> * traceAppendConExpr.makeRef(), *
> *                        ((BinopExpr) ((IfStmt)
> stmt).getCondition()).getOp1());*
> *  Stmt conditionStmt = Jimple.v().newInvokeStmt(conditionExpr);*
> *  units.insertBefore(conditionStmt, stmt);*
>
> The instrumentation phase is OK, however when i run the instrumented
> program, the Exception "java.lang.VerifyError" is thrown.
>
> Can anyone tell me the reason and how to fix it? Thanks in advance!
>
>
> Zhiqiang
>
> *
> *
>
>
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>
>


-- 
Richard Xiao Xiao
PhD Student @ CSE @ Hong Kong University of Science and Technology
www.cse.ust.hk/~richardxx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20120905/0b92b1a6/attachment.html 


More information about the Soot-list mailing list