我使用BCEL生成ByteCode,我只是想在輸入類的靜態方法的每一行之前打印出(println)。我嘗試了使用BCEL的儀器,但它導致了不同形式的錯誤。它說使用BCEL跟蹤java字節碼中的每條指令
Exception in thread "main" java.lang.VerifyError: StackMapTable error: bad offset in method C.max(Ljava/lang/String;II)I
有時它開始工作,如果我對任何指令放置一些靜態方法調用,有時它不會。任何幫助將非常感激...
更新:我修好了。它不是BCEL庫中的東西,它是JDK版本(1.7),它不驗證我的工具類。所以如果有人遇到這樣的問題,可以使用JDK 1.6或使用JVM選項「-XX:-UseSplitVerifier」。
乾杯