Из сообщения об ошибке $!.backtrace
можно извлечь имена методов для каждого шага. Я хочу дополнительно извлечь получателя каждого вызова метода. Я уверен, что есть способ сделать это, потому что я видел этот камень , который имеет эту функцию.
Похоже, что упомянутый выше камень использует Kernel.set_trace_func
и записывает информацию binding
. Но выполнение этого для всех вызовов методов значительно замедляет работу программы. Как можно выборочно записать binding
информацию, относящуюся к стеку вызовов, которая приводит к ошибке?