Я пытаюсь распечатать инструкции байт-кода, которые генерирует интерпретатор 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"
Или что-то в этом роде. Мое главное, опять же, получить адрес памяти каждой инструкции.
Может кто-нибудь направить меня туда, где я могу получить эту информацию? Или это невозможно? Если это так, я рад это знать, а не прикладывать слишком много усилий к вопросу, на который нет ответа.
Ценю всю вашу помощь.