Breakpoint

breakpointswatchesinserting print statements as diagnosticspausedWatch (computer programming)watchpoints
In software development, a breakpoint is an intentional stopping or pausing place in a program, put in place for debugging purposes.wikipedia
111 Related Articles

Betty Holberton

Betty SnyderFrances Snyder HolbertonFrances E. Holberton
Breakpoints were invented for ENIAC, one of the earliest digital computers, by programmer Betty Holberton.
Holberton invented breakpoints in computer debugging.

Debugging

debugdebuggedanti-debugging
In software development, a breakpoint is an intentional stopping or pausing place in a program, put in place for debugging purposes.
Debuggers are software tools which enable the programmer to monitor the execution of a program, stop it, restart it, set breakpoints, and change values in memory.

Program animation

stepsteppingprogram stepping
This also permitted step-by-step program execution in a true program animation manner with optional register and memory alterations simultaneously displayed.
Instead of using a physical stop button to suspend execution - to then begin stepping through the application program, a breakpoint or "Pause" request must usually be set beforehand, usually at a particular statement/instruction in the program (chosen beforehand or alternatively, by default, at the first instruction).

Debugger

debuggersdebuggingDebugger front-end
Debuggers also offer more sophisticated functions such as running a program step by step (single-stepping or program animation), stopping (breaking) (pausing the program to examine the current state) at some event or specified instruction by means of a breakpoint, and tracking the values of variables.

X86 debug register

Debug registerDR2 registerDR3 register
As an example, the x86 instruction set architecture provides hardware support for breakpoints with its x86 debug registers.
Each breakpoint condition is further defined by bits in DR7.

Delay slot

branch delay slotdelay slotsdelayed branch logic
Such hardware may include limitations, for example not allowing breakpoints on instructions located in branch delay slots.
Another side effect is that special handling is needed when managing breakpoints on instructions as well as stepping while debugging within branch delay slot.

COMEFROM

COME FROMbelow
These facilities can be and are abused to act like the COMEFROM statement.
Breakpoints in general are similar.

Software development

developmentdevelopedapplication development
In software development, a breakpoint is an intentional stopping or pausing place in a program, put in place for debugging purposes.

Computer program

programprogramscomputer programs
In software development, a breakpoint is an intentional stopping or pausing place in a program, put in place for debugging purposes.

Interrupt

interruptshardware interruptsoftware interrupt
During the interruption, the programmer inspects the test environment (general purpose registers, memory, logs, files, etc.) to find out whether the program is functioning as expected.

Programmer

software developercomputer programmerdeveloper
During the interruption, the programmer inspects the test environment (general purpose registers, memory, logs, files, etc.) to find out whether the program is functioning as expected.

Computing platform

platformplatformssoftware platform
During the interruption, the programmer inspects the test environment (general purpose registers, memory, logs, files, etc.) to find out whether the program is functioning as expected.

Virtual memory

virtual storagememoryswap
During the interruption, the programmer inspects the test environment (general purpose registers, memory, logs, files, etc.) to find out whether the program is functioning as expected.

Computer file

filefilescomputer files
During the interruption, the programmer inspects the test environment (general purpose registers, memory, logs, files, etc.) to find out whether the program is functioning as expected.

ENIAC

Electronic Numerical Integrator And ComputerElectronic computerENIAC (Electronic Numerical Integrator and Computer)
Breakpoints were invented for ENIAC, one of the earliest digital computers, by programmer Betty Holberton.

IBM System/360

System/360IBM 360IBM/360
Early mainframe computers, such as the IBM/360, had console switches/dials that allowed breakpoints at specific instruction storage addresses and provided "single cycle" operation, permitting the contents of registers and memory to be observed directly on console lights.

Core dump

memory dumpcrash dumpdump
Programmers have used machine code patches to implement single destructive breakpoints to cause a core dump since the early days of computers.

Teleprinter

teletypeteletypewritertelex
The advent of teletypewriter consoles in the 1960s allowed more interactive command line debugging capabilities but it was not until the early 1970s and the arrival of ubiquitous video monitors connected to mainframes that fully interactive, full screen debugging in multitasking environments became a reality.

Command-line interface

command linecommand-linecommand line interface
The advent of teletypewriter consoles in the 1960s allowed more interactive command line debugging capabilities but it was not until the early 1970s and the arrival of ubiquitous video monitors connected to mainframes that fully interactive, full screen debugging in multitasking environments became a reality.

Display device

displayvideo monitorbezel
The advent of teletypewriter consoles in the 1960s allowed more interactive command line debugging capabilities but it was not until the early 1970s and the arrival of ubiquitous video monitors connected to mainframes that fully interactive, full screen debugging in multitasking environments became a reality.

Mainframe computer

mainframemainframesmainframe computers
The advent of teletypewriter consoles in the 1960s allowed more interactive command line debugging capabilities but it was not until the early 1970s and the arrival of ubiquitous video monitors connected to mainframes that fully interactive, full screen debugging in multitasking environments became a reality.

Disassembler

disassemblydisassemblingdisassembled
Initially this type of animation was at the level of disassembled or Decompiled machine code, but later advanced to HLL source level animation.

Decompiler

decompiledecompilationdecompiled
Initially this type of animation was at the level of disassembled or Decompiled machine code, but later advanced to HLL source level animation.

High-level programming language

high-levelhigh-level languagehigh level language
Initially this type of animation was at the level of disassembled or Decompiled machine code, but later advanced to HLL source level animation.

Instruction set architecture

instruction setinstructionsinstruction
Breakpoints are most commonly used to interrupt a running program immediately before the execution of a programmer-specified instruction.