Many dynamic programming languages such as Ruby and Python
enable developers to use so called native extensions, code imple-
mented in typically statically compiled languages like C and C++.
However, debuggers for these dynamic languages usually lack sup-
port for also debugging these native extensions. GraalVM can ex-
ecute programs implemented in various dynamic programming
languages and, by using the LLVM-IR interpreter Sulong, also their
native extensions. We added support for source-level debugging to
Sulong based on GraalVM?s debugging framework by associating
run-time debug information from the LLVM-IR level to the original
program code. As a result, developers can now use GraalVM to
debug source code written in multiple LLVM-based programming
languages as well as programs implemented in various dynamic
languages that invoke it in a common debugger front-end.