Debugger

Top 23 Debugger Open-Source Projects

  • x64dbg

    An open-source user mode debugger for Windows. Optimized for reverse engineering and malware analysis.

    Project mention: we need a 2015E revival. | /r/oldrobloxrevivals | 2023-12-07
  • delve

    Delve is a debugger for the Go programming language.

    Project mention: The worst thing about Jenkins is that it works | news.ycombinator.com | 2023-12-03

    At a recent job, we had slightly different containers for local dev; our backend containers (for a Go app) had Air [1] installed for live reloading, plus Delve [2] running inside the container for VS Code's debugger to connect to. We also had a frontend container for local dev, which didn't get deployed as a container, just as static files.

    [1] https://github.com/cosmtrek/air

    [2] https://github.com/go-delve/delve/

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • eruda

    Console for mobile browsers

    Project mention: A table that looks good on mobile and desktop | news.ycombinator.com | 2023-07-05

    Could you inject it as a bookmarklet?

    If not, you could probably just paste it into Eruda (https://eruda.liriliri.io/)

  • PySnooper

    Never use print for debugging again

    Project mention: Logging code mess | /r/Python | 2023-04-14

    Definitely not for production, but for debugging (esp. in cases where interactive debugging doesn't work) I've found PySnooper very useful

  • cutter

    Free and Open Source Reverse Engineering Platform powered by rizin

    Project mention: The Hiew Hex Editor | news.ycombinator.com | 2024-01-02

    Everything Hiew can do, Rizin[1] can do too, and is completely free and open source[2] under LGPL3 license. Moreover, it supports more architectures, platforms, and file formats, as well as GUI in Qt - Cutter[3][4]. If something is missing in Rizin but presented in Hiew, please let us know by opening the issue with details.

    [1] https://rizin.re

    [2] https://github.com/rizinorg/rizin

    [3] https://cutter.re

    [4] https://github.com/rizinorg/cutter

  • gdb-dashboard

    Modular visual interface for GDB in Python

    Project mention: Everything You Never Wanted to Know About CMake (Redux) | news.ycombinator.com | 2023-06-25

    Disclaimer: I'm making a competing build system.

    I won't tell you specific build systems, but I will tell you what to look for.

    Look for power. Unlimited power. [1]

    Usually, this means a few things:

    1. The build system uses a general-purpose language, even if the language needs features to be added.

    2. The build system does not reduce the power of the general-purpose language. For example, say it starts with Python but prohibits recursion. In that case, you know it is not unlimited power. Looking at you, Starlark.

    3. The build can be dynamically changed, i.e., the build is not statically determined before it even begins.

    4. Each task has unlimited power. This means that the task can use a general-purpose language, not just run external processes.

    5. And there has to be some thought put it in user experience.

    Why are these important? Well, let's look at why with CMake, which fails all of them.

    For #1, CMake's language started as a limited language for enumerating lists. (Hence, CMakeLists.txt is the file name.) And yet, it's grown to be as general-purpose as possible. Why? Because when you need an if statement, nothing else will do, and when you need a loop, nothing else will do.

    And that brings us to #2: if CMake's language started limited, are there still places where it's limited? I argue yes, and I point to the article where it says that your couldn't dynamically call functions until recently. There are probably other places.

    For #3, CMake's whole model precludes it. CMake generates the build upfront then expects another build system to actually execute it. There is no changing the build without regenerating it. (And even then, CMake did a poor job until the addition of `--fresh`.) A fully dynamic build should be able to add targets and make others targets depend on those new targets dynamically, among other things.

    For #4, obviously CMake limits what tasks can do because Ninja and Make limit tasks to running commands.

    As another example, to implement a LaTeX target, you technically need a while loop to iterate until a fixed point. To do that with Make and Ninja, you have to jump through hoops or use an external script that may not work on all platforms.

    CMake obviously fails #5, and to see how much other build systems fail it, just look for comments pouring hate on those build systems. CMake fails the most, but I haven't seen one that passes yet.

    As an example, CMake barely got a debugger. Wow! Cool! It's been 20 years! My build system will have a debugger in public release #2 (one after the MVP) that will be capable of outputting to multiple TTY's like gdb-dashboard. [2] They should have had this years ago!

    Should other comments suggest specific build systems, like the one that suggested Bazel, judge them by this list. Some will be better than others. None will pass everything, IMO, which is why I'm making my own.

    [1]: https://youtube.com/watch?v=Sg14jNbBb-8

    [2]: https://github.com/cyrus-and/gdb-dashboard

  • react-native-debugger

    The standalone app based on official debugger of React Native, and includes React Inspector / Redux DevTools

  • 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.

  • systeminformer

    A free, powerful, multi-purpose tool that helps you monitor system resources, debug software and detect malware. Brought to you by Winsider Seminars & Solutions, Inc. @ http://www.windows-internals.com

    Project mention: System Informer | /r/ITProTuesday | 2023-09-03

    System Informer is a versatile system management tool designed to seamlessly monitor and analyze system resources, troubleshoot software issues, and identify potential malware threats. Offers system activity overviews, intuitive graphs, real-time statistics, active network connection monitoring, detailed disk access information, intricate stack trace analysis, and much more. evily2k describes it "like process explorer on steroids. Allows me to kill process that task manager would say access denied."

  • gdbgui

    Browser-based frontend to gdb (gnu debugger). Add breakpoints, view the stack, visualize data structures, and more in C, C++, Go, Rust, and Fortran. Run gdbgui from the terminal and a new tab will open in your browser.

  • rr

    Record and Replay Framework

    Project mention: So you think you want to write a deterministic hypervisor? | news.ycombinator.com | 2024-03-20

    https://rr-project.org/ had the same problem. They use the retired conditional branch counter instead of instruction counter, and then instruction steeping until at the correct address.

  • renderdoc

    RenderDoc is a stand-alone graphics debugging tool.

    Project mention: Building the DirectX shader compiler better than Microsoft? | news.ycombinator.com | 2024-02-10
  • django-debug-toolbar

    A configurable set of panels that display various debug information about the current request/response.

    Project mention: Setting up Django in a Better Way in 5 Minutes and Understanding How It Works | dev.to | 2023-11-13

    The reason behind this splitting is that we can safely use packages and related settings only where we need. For example, this starter kit has the package django-debug-toolbar. This is only intended for your development environment and not for your production. This can be very risky if used in production because if your Django project encounters errors, all the debug info will be shown to the user which is a severe security risk. Similarly, for tracking errors in production, we're using Sentry which is not needed in our local environment since we already have django-debug-toolbar. For keeping these settings file separate so that they don't conflict with each other, the settings file is split for serving different environments.

  • Pry

    A runtime developer console and IRB alternative with powerful introspection capabilities.

    Project mention: Ruby 3.3 | news.ycombinator.com | 2023-12-24

    that's surprising considering `pry`[1] is such an amazing debugger IMO.

    [1] https://github.com/pry/pry

  • Detect-It-Easy

    Program for determining types of files for Windows, Linux and MacOS.

    Project mention: E-book piracy - a weird ZIP file | /r/Piracy | 2023-05-17

    If it was me, I'd first run something like DIE on it (I have a few such programs installed)- https://github.com/horsicq/Detect-It-Easy

  • voltron

    A hacky debugger UI for hackers

    Project mention: Debugging a Mixed Python and C Language Stack | news.ycombinator.com | 2023-04-25

    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?

  • nvim-dap

    Debug Adapter Protocol client implementation for Neovim

    Project mention: Can you get better dapui varibles? | /r/neovim | 2023-12-06

    https://github.com/mfussenegger/nvim-dap/issues/1062 https://github.com/mfussenegger/nvim-dap/issues/737

  • SHADERed

    Lightweight, cross-platform & full-featured shader IDE

    Project mention: Confused in terms of where to start with framework/technology etc. Need help picking between learning ShaderToy v/s OpenGL v/s WebGL | /r/GraphicsProgramming | 2023-06-20

    If you specifically want to learn shader programming then https://shadered.org/ is a lot more practical than Shadertoy.

  • vimspector

    vimspector - A multi-language debugging system for Vim

    Project mention: Certain Mapping only when another command was called earlier (lua) | /r/neovim | 2023-08-08

    I struggle a bit to put what i want into words but i still try my best.So i got some plugins likehttps://github.com/sindrets/diffview.nvimhttps://github.com/harrisoncramer/gitlab.nvimhttps://github.com/puremourning/vimspectorand so on (but those are the one which i need that "feature" the most).

  • vscode-go

    Go extension for Visual Studio Code (by golang)

    Project mention: Error handling in Go web apps shouldn't be so awkward | news.ycombinator.com | 2024-01-09

    Goland collapses this to a single line, and vscode is looking into it too.

    https://github.com/golang/vscode-go/issues/2311

    It papers over the issue, but helps some.

  • unidbg

    Allows you to emulate an Android native library, and an experimental iOS emulation

  • Byebug

    Debugging in Ruby 2

    Project mention: Why does pry/Zeitwerk have issues loading constants in breakpoint context? | /r/rails | 2023-05-01

    Just pry or with byebug? If the latter: https://github.com/deivid-rodriguez/byebug/issues/564

  • ScyllaHide

    Advanced usermode anti-anti-debugger. Forked from https://bitbucket.org/NtQuery/scyllahide

  • console

    a debugger for async rust! (by tokio-rs)

    Project mention: Rust Tooling: 8 tools that will increase your productivity | dev.to | 2024-02-15

    tokio-console is a debugger for Rust async programs that use Tokio. To get started, add the console-subscriber crate to your project and add the following line which will initialise the subscriber and allow tokio-console to connect to it:

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-03-20.

Debugger related posts

Index

What are some of the best open-source Debugger projects? This list will help you:

Project Stars
1 x64dbg 42,978
2 delve 21,908
3 eruda 17,140
4 PySnooper 16,239
5 cutter 14,802
6 gdb-dashboard 10,284
7 react-native-debugger 10,261
8 systeminformer 10,126
9 gdbgui 9,657
10 rr 8,569
11 renderdoc 8,332
12 django-debug-toolbar 7,875
13 Pry 6,705
14 Detect-It-Easy 6,429
15 voltron 6,086
16 nvim-dap 4,612
17 SHADERed 4,154
18 vimspector 3,994
19 vscode-go 3,706
20 unidbg 3,387
21 Byebug 3,319
22 ScyllaHide 3,180
23 console 3,095
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com