Don't Look Down on Print Debugging

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

Nutrient - The #1 PDF SDK Library
Bad PDFs = bad UX. Slow load times, broken annotations, clunky UX frustrates users. Nutrient’s PDF SDKs gives seamless document experiences, fast rendering, annotations, real-time collaboration, 100+ features. Used by 10K+ devs, serving ~half a billion users worldwide. Explore the SDK for free.
nutrient.io
featured
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
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. Nutrient

    Nutrient - The #1 PDF SDK Library. Bad PDFs = bad UX. Slow load times, broken annotations, clunky UX frustrates users. Nutrient’s PDF SDKs gives seamless document experiences, fast rendering, annotations, real-time collaboration, 100+ features. Used by 10K+ devs, serving ~half a billion users worldwide. Explore the SDK for free.

    Nutrient 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

    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

  9. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
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 2nd most popular programming language
based on number of references?