我使用 Haskell 编写了一个 Java 字节码解析器,它工作得很好。然而,下一步让我完全难住了。
我的 Haskell 程序需要修改 .class 文件,以便在执行时 Java 程序打印:
“ Entering [method name here] ” 在执行方法之前,以及
“ Exiting [method name here] ”在执行一个方法后。
我所知道的是,我们需要在常量池和方法表中附加对 的调用System.out.println
,但我觉得我仍然缺少一些东西。
- 解决这个问题的最佳方法是什么?
- 你怎么知道如何调用
System.out.println
字节码? - 您如何存储带有方法名称的字符串,以便稍后作为 的参数调用
System.out.println
?