Как напечатать адреса памяти инструкции Ruby? - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь распечатать инструкции байт-кода, которые генерирует интерпретатор 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"

Или что-то в этом роде. Мое главное, опять же, получить адрес памяти каждой инструкции.

Может кто-нибудь направить меня туда, где я могу получить эту информацию? Или это невозможно? Если это так, я рад это знать, а не прикладывать слишком много усилий к вопросу, на который нет ответа.

Ценю всю вашу помощь.

...