bcel

    1熱度

    1回答

    我想用BCEL在我的方法中的特定if_instruction之前添加/插入一些if_instruction。 這裏是我的方法: public void printMax(int x , int y){ int max=x; //////here is my desire position////////// if(y>x) max=y; Syste

    0熱度

    1回答

    我正在提供任何人都可以在其代碼中包含的註釋@validateName。假設一些一個編碼 class Person { @validateName private String name; .... } 然後,他們可以調用NameValidator.validate(personObject)或驗證該領域的一些類似的方法。 我想確保名稱字段始終處於有效狀態,即每當

    0熱度

    1回答

    如何使用bcel classparaser獲取類名稱,元素名稱和方法名稱?我已經找到了獲取類名的方法,但元素和方法名稱給我錯誤。 任何人都可以幫助我嗎? 這裏是我的代碼(有一些錯誤存在,並沒有完成): import java.io.IOException; import java.util.Enumeration; import java.util.jar.JarEntry; import

    4熱度

    1回答

    對於我的論文研究,我需要在測試套件中爲可定義的方法注入一段代碼,但我沒有源代碼(本例中爲DaCapo基準測試套件,http://dacapobench.org/) 。我的論文的這一部分基於以前的研究,爲此使用了字節碼注入,這也導致我也這樣做。 我用Apache的BCEL庫(http://commons.apache.org/proper/commons-bcel/)構建了一個小程序,使我能夠在其他

    1熱度

    2回答

    如何檢測來自jar文件的類是否在擴展其他類,或者是否存在對其他類對象或其他類對象的方法調用? 然後系統出哪個類擴展哪個類和哪個類從哪個類中調用方法。 使用Classparser來解析jar。這裏是我的代碼部分: String jarfile = "C:\\Users\\OOOO\\Desktop\\Sample.Jar"; jar = new JarFile(jarfile);

    2熱度

    2回答

    我使用BCEL生成ByteCode,我只是想在輸入類的靜態方法的每一行之前打印出(println)。我嘗試了使用BCEL的儀器,但它導致了不同形式的錯誤。它說 Exception in thread "main" java.lang.VerifyError: StackMapTable error: bad offset in method C.max(Ljava/lang/String;II)I

    0熱度

    1回答

    我需要識別Java代碼中未使用的未使用的變量(參數,局部變量,類成員變量)。基本上我必須使用BCEL來訪問字節碼並達到我的目標。 我已經使用ClassGen來獲得所有的方法調用,然後通過使用MethodGen我設法得到所有的局部變量和函數參數。但是我仍然無法區分已使用和未使用的變量。 我猜我必須訪問JVM堆棧以查看哪些變量實際上正在加載,哪些未加載未被使用。 所以問題很簡單: 如何使用BCEL訪問

    0熱度

    1回答

    我想更改使用BCEL的方法。但我不知道如何更新Exception表。這裏的簡化代碼: ConstantPoolGen poolGen = classGen.getConstantPool(); InstructionList iList = new InstructionList(method.getCode().getCode()); MethodGen newMethodGen = new

    1熱度

    2回答

    我正在使用BCEL轉換方法字節碼來實現匿名內部類風格的方法攔截器,同時截取該方法,我需要處理截取方法上的一些註釋。我使用BCEL攔截除java反射之外的方法訪問。 現在我的代碼可以很好地處理沒有原始類型的方法。由於我不知道如何在基本參數類型列表中使用Class.getDeclaredMethod,因爲getDeclaredMethod接受methodName和Class []數組作爲參數。 所以第

    0熱度

    1回答

    我碰到一個無聊的錯誤: Exception in thread "main" java.lang.VerifyError: Bad type on operand stack in method net.madz.lifecycle.demo.standalone.ServiceOrder.allocateResources(JJJ)V at offset 27 我不太理解錯誤的意