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

Я пытаюсь получить стеки вызовов интерпретатора Ruby, когда он будет выполнен.Например, у меня есть некоторый код ruby ​​в foo.rb, и когда я выполняю его с некоторыми опциями (если они есть, чтобы получить стек вызовов) на $ruby foo.rb, тогда я хотел бы получить, какие функции интерпретатора выполняются.

Я нашел эту (https://programmer.help/blogs/ruby-2.x-source-code-learning-an-overview-of-interpreters.html) хорошую статью, связанную с моими вопросами и дает некоторое представление о том, как мне следует подходить, но я не совсем уверен, как мне это сделать.

В принципе,в статье говорится, что «Откройте переключатель OPT_CALL_THREADED_CODE в заголовочном файле vm_opts.h при компиляции стека вызовов Ruby ruby_run_node», чтобы получить стек вызовов, но я не совсем понимаю, что означает «открытый OPT_CALL_THREADED_CODE».

Я посмотрел vm_opts.h, но он мало что говорит.

Эта проблема очень специфическая, но если у кого-то есть идеи, как я могу получить стек вызовов в любом случае или с помощью методастатья предлагает, пожалуйста, помогите мне здесь.

Спасибо за вашу помощь!

...