Debugging a Mixed Python and C Language Stack

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • py-spy

    Sampling profiler for Python programs

  • Theres also Py Spy, a profiling tool that can generate flame charts containing a mix of python and C (or C++) calls.

    https://github.com/benfred/py-spy

    It's worked really well for my needs

  • debugger

    Discontinued A visual debugger for Jupyter notebooks, consoles, and source files

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • gdbghidra

    gdbghidra - a visual bridge between a GDB session and GHIDRA

  • #284

    > "Users can do [mixed mode] debugging with GDB (and/or other debuggers) and log the session in a notebook; in particular in order to teach.*

    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/EasierPythonDebuggin... , 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 [...] * https://github.com/Comsecuris/gdbghidra/blob/master/data/gdb... (zero dependencies)*

    > https://reverseengineering.stackexchange.com/questions/1392/... 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.

  • voltron

    A hacky debugger UI for hackers

  • 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/deb... may be helpful [for writing-a-c-function-to-call-any-python-unit-test]

    > 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?

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts