Hacker News with Generative AI: Debugging

Show HN: Unbug – Rust macros for programmatically invoking breakpoints (github.com/greymattergames)
A crate to programmatically invoke debugging breakpoints with helping macros.
Minimally intrusive instrumentation of embedded system C/C++ code (github.com/RTEdbg)
The toolkit includes a library of functions for minimally intrusive code instrumentation (data logging/tracing), tools for transferring data to the host, a tool for decoding data on the host, and demo code.
Pleasant Debugging with GDB and DDD (begriffs.com)
GDB is an old and ubiquitous debugger for Linux and BSD systems that has extensive language, processor, and binary format support. Its interface is a little cryptic, but learning GDB pays off.
Find a needle in a haystack with Git bisect (jerryorr.com)
My favorite tool for finding the source of regression bug is git bisect.
Seer: A GUI front end to GDB for Linux (github.com/epasveer)
Seer - a gui frontend to gdb for Linux. (Ernie Pasveer epasveer@att.net)
Recovering from Frozen Images in Squeak (squeak.org)
When developing complex systems, encountering errors that leave your project in a frozen state can bring much sadness and consternation.
GitHub trick to find the commit that deleted a file (microsoft.com)
A common problem in git is finding the commit that deleted a file.
The case of a program that crashed on its first instruction (microsoft.com)
A customer was baffled by crash reports that indicated that their program was failing on its very first instruction.
We built a self-healing system to survive a concurrency bug at Netflix (pushtoprod.substack.com)
Our CPUs were dying, the bug was temporarily un-fixable, and we had no viable path forward. Here's how we managed to survive.
Intentrace: Strace for Everyone (github.com/sectordistrict)
intentrace is strace with intent, it goes all the way for you instead of half the way. intentrace is currently in beta
Show HN: AI Agents for engineering use cases like debugging, LLD,testing etc. (github.com/potpie-ai)
Potpie deeply understands your codebase by breaking down your code into its constituting parts and building a knowledge graph out of your code’s components. We generate inferences at every level of your codebase so that we can comprehensively answer questions about your codebase.
Limitations of frame pointer unwinding (redhat.com)
Recent versions of commonly-used Linux distributions including Fedora and Ubuntu have disabled frame pointer optimizations with the goal of allowing profiling tools to produce stack traces without needing to include a call-frame information interpreter.
VSCode high CPU usage issue affecting macOS (github.com/microsoft)
High cpu usage from unknown extension (likely NOT json) #232699
Debugging Compiled Code for R with Positron (tylermw.com)
Positron is a new IDE by the creators of RStudio that’s built on VSCode’s open source core, but layered with extra bells and whistles for R (and Python, if that’s your thing). And those bells and whistles’ music is particularly well tuned for R developers working with compiled code, which was always a rather rough experience in RStudio.
Debugging my wife's alarm clock (ntietz.com)
My wife's alarm clock has been acting up lately.
Debugging audio artifacts caused by... a serial port? (recall.ai)
At Recall.ai we run enormous infrastructure to process millions of meetings per month, in real-time.
A Stacktrace Puzzle (bugsink.com)
Don’t worry, an actual article will follow, but first: a puzzle.
PSA Google Chrome pushed a breaking change in custom protocol handlers this week (ycombinator.com)
Trying to save lots of time we wasted debugging this issue: If you have built an app around a custom protocol (i.e. oursoftware://do_cool_thing?callback=http://coolthingdone.com ), the roll-out of Chrome M130 breaks those URLS ( https://issues.chromium.org/issues/374691247 ).
reftrack-plugin – plugin for GCC that tracks references to allocated objects (github.com/acbits)
reftrack is a GCC plugin for C language that tracks references to allocated objects though it could be used for other purposes by writing custom functions.
Show HN: Run, learn, and debug x86-64 Assembly code directly from your browser (halb.it)
It's not enough for a program to work – it has to work for the right reasons (buttondown.com)
You should be suspicious if [the model checker] does not find a violation of a liveness property... you should also be suspicious if [it] finds no errors when checking safety properties.
Austin 3.7 – Python frame stack sampler for CPython (github.com/P403n1x87)
Austin is a Python frame stack sampler for CPython written in pure C. Samples are collected by reading the CPython interpreter virtual memory space to retrieve information about the currently running threads along with the stack of the frames that are being executed. Hence, one can use Austin to easily make powerful statistical profilers that have minimal impact on the target application and that don't require any instrumentation.
Word-like HTML inline edit with design mode (secretgeek.net)
F12, dev tools -- then enter this in the console
Show HN: Chasing a Win32 Bug in SetCommState (foldl.github.io)
For those (including myself) working on embedding systems, COM port is used day to day. sscom is a cute tool used widely. It’s small sized, fast, and reliable.
Node.js, Pipes, and Disappearing Bytes (sxlijin.github.io)
Someone in one of my online communities recently asked about why their Node command was dropping output when piped to another command:
What Went Wrong with the Libdispatch (2020) (tclementdev.com)
It is now obvious that the original intent of the libdispatch failed.
Every bug/quirk of the Windows resource compiler (rc.exe), probably (ryanliptak.com)
The above is just a small sampling of a few of the strange behaviors of the Windows RC compiler (rc.exe). All of the above bugs/quirks, and many, many more, will be detailed and explained (to the best of my ability) in this post.
How Dwarf Works: Parsing Just Enough ELF (calabro.io)
This is part of the series on DWARF.
Good Retry, Bad Retry (medium.com)
Sometimes, a seemingly simple and obvious solution can lead to a series of problems later on. This is especially true when adding retries.
Local Variables as Accidental Breadcrumbs for Faster Debugging (bugsink.com)
While working on Bugsink, I spend a lot of time thinking about how Exceptions typically happen, and what factors are helpful (or not) in quickly fixing them. Some of this time is spent while I’m doing RealProductDesign™, but most of it is right after I step back from fixing an actual error as it happened in Bugsink or one of the related projects.