Live briefing
Everything about Debugger
Software for debugging a computer program
A debugger is software for executing a computer program in an environment that allows for programming-level inspection and control. A debugger is often used to debug, but can be used for other goals including testing. Common features of a debugger include stepping through code line-by-line, breaking into the program's flow of control, managing breakpoints, and reporting and modifying memory. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: DebuggerA 5-minute orientation
- Skim a recent paper: Robot behavior debugger for non-expert users in convenience stores using behavior treesInfluential work since 2022
- Pick up a classic book: The art of debugging with GDB, DDD, and EclipseThe most-reprinted book on the subject
- Read the landmark paper: The transparent PROLOG machine (TPM): an execution model and graphical debugger for logic programmingCited 64 times
- Go sideways: In-circuit emulationA closely related topic
- Go sideways: JTAGA closely related topic
📖 Definitions
Noun A computer program that helps the user to test and debug other programs, by enabling their step-by-step execution controlled by the user, setting of breakpoints, and monitoring values of variables.
🏆 Landmark papers (most cited)
The transparent PROLOG machine (TPM): an execution model and graphical debugger for logic programming
Development of a debugger for a concurrent language
VIPS: A Visual Debugger
A debugger for concurrent programs
How to look busy while being as lazy as ever: the Implementation of a lazy functional debugger
Dbxtool: A window‐based symbolic debugger for sun workstations
A Debugger for Standard ML
Graphical display of complex information within a Prolog debugger
🆕 Influential since 2022
Robot behavior debugger for non-expert users in convenience stores using behavior trees
DBG-PT: A Large Language Model Assisted Query Performance Regression Debugger
InspectCoder: Dynamic Analysis-Driven Self Repair through Interactive LLM-Debugger Collaboration
Blink: An educational software debugger for Scratch
Human-in-the-Loop Large-Scale Model Transformations with the VICToRy Debugger.
📚 Books worth reading
The art of debugging with GDB, DDD, and EclipseNorman S. Matloff, Peter Salzman · 2008
Mastering Turbo debuggerTom Swan · 1990- 📕Turbo debugger, version 3.0 · 1991
Using Turbo debugger and tools 2.0Ben Ezzell · 1991- 📕Turbo debugger · 1988
- 📕Illustrated Turbo Debugger 1.0Hari Venkateswaran, Murat Tanik · 1990
- 📕Illustrated Turbo Debugger 3.0 (Illustrated Series)Hari Venkateswaran, Murat M. Tanik · 1992
Debugging Macintosh software with MacsBugKonstantin Othmer · 1991
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- In-circuit emulation In-circuit emulation (ICE) is the use of a hardware device or in-circuit emulator used to debug the software of an embedded system. It operates by using…
- JTAG JTAG (named after the Joint Test Action Group, which codified it) is an industry standard for verifying designs of and testing printed circuit boards after…
- GNU Debugger The GNU Debugger (GDB) is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada, Assembly, C…
- Breakpoint In software development, a breakpoint is an intentional stopping or pausing place in a program, put in place for debugging purposes. It is also sometimes…
- Nios II Nios II is a 32-bit embedded processor architecture designed specifically for the Altera family of field-programmable gate array (FPGA) integrated circuits…
- Nexus (standard) Nexus or IEEE-ISTO 5001-2003 is a standard debugging interface for embedded systems. The IEEE-ISTO 5001-2003 (Nexus) feature set is modeled on today's…
- Debugging In engineering, debugging is the process of finding the root cause, workarounds, and possible fixes for bugs. For software, debugging tactics can involve…
- Stepping (debugging) Program animation or stepping refers to the debugging method of executing code one instruction or line at a time. The programmer may examine the state…