java-bytecode-asm

    -2熱度

    2回答

    比方說,我在文件中A.java定義的常量INT:當我用在另一個文件B.java這個值 public final static int CONSTAN_VALUE_IN_A = 0; : int fooBValue = A.CONSTAN_VALUE_IN_A; 後,我編譯我的項目,在B.class,我有: fooBValue = 0 我想知道如果我能得到其中的值「0」來自(A.java

    0熱度

    1回答

    我想了解Java的ObjectWeb ASM庫(框架?)如何通過閱讀文檔和查看示例代碼的組合。我慢慢地意識到它背後的想法,但是我發現了一些我只是不理解的示例代碼,所以我希望這裏有人能向我解釋它。 代碼獲取mv,從ClassWriter的visitMethod方法得到的MethodVisitor中,並開始操縱這樣的方法: mv.visitCode(); String methodSigna

    0熱度

    1回答

    我需要刪除字段在類文件中使用ASM,但是我無法找到任何工作, for(FieldNode field : classNode.fields) { if(field.name.equals("max") && field.value.equals(30)) { classNode.fields.remove(field); System.out.println("*

    1熱度

    1回答

    我正在生成一個簡單的類並且無法注入一個適當的變量名稱。 ASM版本是5.2。 下面是代碼: package com.test; import org.objectweb.asm.*; import org.objectweb.asm.commons.GeneratorAdapter; import org.objectweb.asm.commons.Method; import jav

    3熱度

    1回答

    當在Java字節碼彙編指令級別下鑽到運算符instanceof時,它對應於Java彙編指令instanceof。不過,我看到用於 規則確定objectref非空是否是解決類型的實例: 第二條規則說: 如果S是一個接口類型,則: 如果T是類類型,那麼T必須是Object。 如果T是一個接口類型,則T必須是相同的接口S或S.的超接口 這使我感到困惑。 「S是接口類型」是指S的引用類型是接口類型嗎?如果

    0熱度

    1回答

    我是ASM和字節碼工具的初學者,並試圖通過一個簡單示例進行學習。我想訪問加載的所有類的所有方法,並將其標記爲打印方法。 附加是我的程序,但它不按預期工作。每個加載的類只有幾個方法被訪問,其餘的被忽略。似乎沒有理解某些人被訪問的是什麼,有些人被忽略。 例如,當加載「javax/servlet/http/HttpServlet」類時,它僅針對構造函數和doGet方法調用visitMethod並忽略其餘

    1熱度

    2回答

    我有一箇舊的庫(大約在2005年),它執行字節碼操作,但不會觸摸堆棧圖。因此,我的jvm(java 8)抱怨說它們是無效的類。解決這些錯誤的唯一方法是使用-noverify運行jvm。但這對我來說不是一個長期的解決方案。 有沒有辦法在類已經生成後重新生成堆棧映射?我看到ClassWriter類有一個選項來重新生成堆棧映射,但我不確定如何讀取一個字節類並重寫一個新的。這是可行的嗎?

    0熱度

    1回答

    我想在編程IDE中以不同間隔檢索所有變量和不同值。例如,考慮QTP是一個測試工具,我有一個腳本,它有10個變量編寫腳本。在運行期間,值經常發生變化,我想在變化時記錄變量值。當我們知道它發生了變化時,如何一般性地訪問它們而不是自己編寫值?有什麼可能嗎?

    0熱度

    1回答

    我正在嘗試使用Javassist編寫簡單的工具代理。 public class Agent implements ClassFileTransformer { protected Instrumentation instrumentation; protected ClassPool classPool; public Agent(Instrumentation

    2熱度

    1回答

    我試圖使用ASM(字節碼)庫來獲取IntInsnNode的值。 的IntInsnNode instuctions低於: sipush 18998 bipush 91 bipush 34 所以我想要實現的是得到18998,91和34