我正在尝试打印Ruby解释器生成的字节码指令以及与每个指令关联的内存地址。
我知道我可以使用RubyVM::InstructionSequence
来获取程序的反汇编指令序列,但是它不会打印与之关联的内存地址。例如,我现在得到的就是
0000 trace 8 ( 1)
0002 trac 1 ( 2)
0004 putself
0005 putstring "hello, world"
0007 send :puts, 1, nil, 8, <ic:0>
0013 trace 16 ( 3)
0015 leave ( 2)
但是,我要查找的是其他信息,例如
0x__MEM_ADDRESS__ putstring "hello, world"
或者类似的东西。同样,我的主要要点是获取每条指令的内存地址。
任何人都可以将我定向到可以获取该信息的地方吗?还是不可能?如果是这样,我也很高兴知道这一点,而不是对没有答案的问题投入过多的精力。
感谢您的帮助。