|title:||Multi-Level Debugging for Cython|
|keywords:||Multi-Level Debugging, Mixed-Mode Debugging, Debugging Cython Code, Debugging Python with GDB|
Programs may be written in multiple languages and may be observed at multiple levels of abstraction. When debugging it is often preferable to use a single debugger that can provide a single debug session that allows the user to observe the program at all the levels of abstraction that are deemed important. This paper will cover such debuggers, design patterns which may be useful when implementing them and will then focus on a reification in the form of a Python and Cython debugger written as an extension to GDB, the GNU Debugger.