TracePoint

Implementing Web Console
Genadi Samokovarov • May 31, 2018 • Sendai, Miyagi, Japan

Web Console is a debugging tool bundled with Rails. The most popular feature is a console that is shown in every development error, however, it is a general purpose debugging tool that let you execute Ruby code in any binding as it runs, through its web UI.

In this talk, we'll take a look at how the web-console gem is implemented. This includes a deep dive into how exceptions in Ruby work; how to build Ruby bindings for every part of an exception backtrace, so we can execute code in them; how we interact with the DebugInspector and TracePoint C APIs to make this possible and how we supported alternative Ruby implementations like JRuby.

RubyKaigi 2018 https://rubykaigi.org/2018/presentations/gsamokovarov

RubyKaigi 2018

Explore all talks recorded at RubyKaigi 2018
+62