1 research outputs found
Debugging Native Extensions of Dynamic Languages
Many dynamic programming languages such as Ruby and Python enable developers
to use so called native extensions, code implemented in typically statically
compiled languages like C and C++. However, debuggers for these dynamic
languages usually lack support for also debugging these native extensions.
GraalVM can execute 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.Comment: 7 pages, 7 figures, accepted at 15th International Conference on
Managed Languages & Runtimes (ManLang'18