60 likes | 212 Views
PyDebug: A New Application for Integrated Debugging of Python with C and Fortran Extensions. Peter Stoltz Tech-X Corporation pstoltz@txcorp.com O'Reilly Open Source Convention Thursday, July 26, 2001 Python Session. Tech-X Corporation 5541 Central Ave., Suite 135 Boulder, Colorado 80301
E N D
PyDebug: A New Application for Integrated Debugging of Python with C and Fortran Extensions Peter Stoltz Tech-X Corporation pstoltz@txcorp.com O'Reilly Open Source Convention Thursday, July 26, 2001 Python Session Tech-X Corporation 5541 Central Ave., Suite 135 Boulder, Colorado 80301 http://www.techxhome.com
Overview of Tech-X Corporation • We are a small company funded primarily via the federal SBIR program • we have 9 employees, 6 of them PhD physicists • we receive funding from DoE, DoD, DoEd, and (hopefully) NIH • Tech-X collaborates with DoE labs and universities • we have active collaborations with LBNL, LLNL, ORNL, PPPL, Berkeley, MIT, U. of Colorado, and U.T. Austin • Among our Python projects are developing a data client-server application and high-performance steering tools: • developing a CORBA-based client-server application with a Python server for magnetic fusion energy research • developing Python tools for steering Fortran 77 code in the heavy-ion fusion energy reserch (we’re heavily involved with Pyfort)
We have a partial solution of the problem of simultaneously debugging Python and C/Fortran • A known problem in the Python community is debugging Python code and C/Fortran extensions simultaneously: • You can use built-in Python debugger to debug native Python, but not extensions written in C/Fortran • You can run Python under gdb, but it’s awkward (e.g. you can’t restart your code easily) • PyDebug, a middle-ware interpreter (written in Python, of course!), solves this problem: • Using threads, the middle-ware launches gdb (or some other debugger) while still listening to stdin • Using the cmd module, the middle-ware can filter commands from stdin and do any necessary manipulation (e.g. adding breakpoints to a PyDebug list) before issuing the command
PyDebug is a middle layer between the user and gdb stdin/stdout PyDebug cmd threads gdb python user
PyDebug 0.9b is available for download • To try PyDebug, please visit http://pydebug.techxhome.com