
Your question is specifically about IDEs with support for mixed-mode debugging (with gdb), so I went looking for an answer: https://wiki.python.org/moin/DebuggingWithGdb (which is not responsive and almost unreadable on a mobile device) links to https://fedoraproject.org/wiki/Features/EasierPythonDebugging , which mentions the py-list, py-up and py-down, py-bt, py-print, and py-locals GDB commands that are also described in ** https://devguide.python.org/gdb/ ** https://wiki.python.org/moin/PythonDebuggingTools Ctrl-F "gdb" mentions: DDD, pyclewn (vim), trepan3k (which is gdb-like and supports breaking at c-line and also handles bytecode disassembly) Apparently, GHIDRA does not have a debugger but there is a plugin for following along with gdb in ghidra called https://github.com/Comsecuris/gdbghidra , which may or may not be useful. https://github.com/Mistobaan/pyclewn hasn't been updated in years, but may have useful bits for implementing mixed-mode debugging in other non-vim IDEs. https://reverseengineering.stackexchange.com/questions/1392/decent-gui-for-g... lists a number of GUIs for GDB; including voltronnn:
There's Voltron, which is an extensible Python debugger UI that supports LLDB, GDB, VDB, and WinDbg/CDB (via PyKD) and runs on macOS, Linux and Windows. For the first three it supports x86, x86_64, and arm with even arm64 support for lldb while adding even powerpc support for gdb. https://github.com/snare/voltron
https://developers.redhat.com/blog/2017/11/10/gdb-python-api/ describes the GDB Python API. https://pythonextensionpatterns.readthedocs.io/en/latest/debugging/debug_in_... may be helpful. Does DDD support mixed-mode debugging? https://www.gnu.org/software/ddd/manual/html_mono/ddd.html Essentially, for IDE support, AFAIU, the basic functionality is: - set breakpoints: `b c-file.c:123` - step through them while seeking-to and highlighting the current breakpoint - provide one or more panes for executing GDB commands within the current or other frames The GDB Python API docs: https://sourceware.org/gdb/onlinedocs/gdb/Python-API.html The devguide gdb page may be the place to list IDEs with support for mixed-mode debugging of Python and C/C++/Cython specifically with gdb? On Sunday, December 1, 2019, Skip Montanaro <skip.montanaro@gmail.com> wrote:
Having tried comp.lang.python with no response, I turn here...
After at least ten years away from Python's run-time interpreter & byte code compiler, I'm getting set to familiarize myself with that again. This will, I think, entail debugging a mixed Python/C environment. I'm an Emacs user and am aware that GDB since 7.0 has support for debugging at the Python code level. Is Emacs+GDB my best bet? Are there any Python IDEs which support C-level breakpoints and debugging?
Thanks,
Skip _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-leave@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/L2KBZM64... Code of Conduct: http://python.org/psf/codeofconduct/