Don't Look Down on Print Debugging

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

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. rr

    Record and Replay Framework

    https://learn.microsoft.com/en-us/windows-hardware/drivers/d...

    Or on Linux use rr (https://rr-project.org/) or Undo (https://undo.io - disclaimer: I work on this).

    These have the advantage that you only need to repro the bug once (just record it in a loop until the bug happens) then debug at your leisure. So even rare bugs are susceptible.

    rr and Undo also both have modes for provoking concurrency bugs (Chaos Mode from rr - https://robert.ocallahan.org/2016/02/introducing-rr-chaos-mo..., Thread Fuzzing from Undo - https://undo.io/resources/thread-fuzzing-wild/)

  2. SaaSHub

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

    SaaSHub logo
  3. revy

    Proof-of-concept time-travel debugger for the Bevy game engine, built using Rerun.

    Agree, there are some time travel debuggers though but either only for some programming languages or expensive commercial or only for linux e.g. rr-debugger[0]. Also there is rerun [1] that is only for image processing pipeline debugging.

    I wish there was something similar like rerun but for code: you record the whole program running and capture all snapshots then stop it running. Now you can analyze all app execution and variables even offline and use any data queries, modify prints without execution and feed it too AI as extra context. I guess RAM would be a big obstacle to make it work since you would either have to capture snapshot at every program modification or some less snapshot but some diffs between what changed.

    [0] https://rr-project.org/

    [1] https://www.rerun.io/

  4. jolikit

    Java APIs to abstract away time (clocks, schedulers), simple 2D UIs (BWD), and a bit more, with default implementations

    >I appended (...) traces into (...) memory. (...) An unrelated process would read (...) at opportune time and hand over to the developer.

    I did something similar to debug concurrent treatments in Java, that allows to accumulate log statements in thread-local or instance-local collections and then publish them with possibly just a lazySet():

    https://github.com/jeffhain/jolikit/blob/master/src/main/jav...

  5. devtools

    Replay.io DevTools (by replayio)

    Have you ever been able to try https://replay.io time travel debugging as an alternative to conventional logging?

    Last time I tried it you were able to add logging statements "after the fact" (i.e. after reproducing the bug) and see what they would have printed. I believe they also have the ability to act like a conventional debugger.

    I think they're changing some aspects of their business model but the core record / replay tech is really cool.

  6. lk-logger

    Python advanced print with varnames.

    For those doing print debugging in python see the screenshots here https://github.com/likianta/lk-logger

  7. aider

    aider is AI pair programming in your terminal

  8. vim-debugstring

    Debug printf()-style at the speed of light

    If you buy in and happen to use Vim, there are plug-ins [0] to print debug by single keystrokes.

    [0] : https://github.com/bergercookie/vim-debugstring

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

  • GDB-front end: GDB front end with a browser-based UI

    1 project | news.ycombinator.com | 28 Jan 2024
  • Hey guys, I wanted to share with you that GDBFrontend v0.11.3-beta is now available! This version includes some crucial bug fixes and enhancements, as well as support for MacOS x86_64. Although, we still need to give it a test run on an x64 MacOS since I only have an M1. 😬

    1 project | /r/C_Programming | 24 Apr 2023
  • Visualization tools for Data Structures?

    1 project | /r/C_Programming | 23 Apr 2023
  • Hi, I just released GDBFrontend v0.11.3-beta that has important bugfixes/improvements and MacOS x86_64 support (we still need to test on an x64 MacOS since I have M1 one)

    1 project | /r/linux | 18 Dec 2022
  • Hi, I just released GDBFrontend v0.11.3-beta that has important bugfixes/improvements and MacOS x86_64 support (we still need to test on an x64 MacOS since I have M1 one 🙀)

    1 project | /r/programming | 18 Dec 2022

Did you know that Python is
the 1st most popular programming language
based on number of references?