A breakpoint, in software development, is an intentional stopping or pausing place in a program, put in place for debugging purposes. More generally, a breakpoint is a means of acquiring knowledge about a program during its execution. During the interruption, the programmer inspects the test environment (logs, memory, files, etc.) to find out whether the program functions as expected.
In practice, a breakpoint consists of one or more conditions that determine when a program's execution should be interrupted.
The most common form of a breakpoint is one where the program's execution is interrupted before a programmer-specified instruction is executed. This is often referred to as an instruction breakpoint.
Other kinds of conditions can also be used, such as the reading, writing, or modification of a specific location in an area of memory. This is often referred to as a data breakpoint, or a watchpoint.
Breakpoints can also be used to interrupt execution at a particular time, or upon a keystroke etc.
Many processors include hardware support for breakpoints (typically instruction and data breakpoints). Such hardware may include limitations, for example not allowing breakpoints on instructions located in branch delay slots. This kind of limitation is imposed by the microarchitecture of the processor, so varies from processor to processor.
Without hardware support, debuggers have to implement breakpoints in software. For instruction breakpoints, this is a comparatively simple task of replacing the instruction at the location of the breakpoint. But implementing data breakpoints in software can greatly reduce the performance of the application being debugged.
Some programming language implementations expose their debugging functions for use by other programs.
For example, some FORTRAN dialects have an
AT statement, which was originally intended to act as an instruction breakpoint.
Python implements a debugger accessible from a Python program.
These facilities can be and are abused to act like the COMEFROM statement.
DTCC: Improved Breakpoints in 2004.(Depository Trust & Clearing Corp. sets deadline of early 2004 to enhance two of its primary mutual fund services )
Aug 04, 2003; The Depository Trust & Clearing Corp. has set itself a deadline of early 2004 to enhance two of its primary mutual fund services...
Researchers Submit Patent Application, "Breakpoint Synchronization for Modified Program Source Code", for Approval
Mar 21, 2013; By a News Reporter-Staff News Editor at Computer Weekly News -- From Washington, D.C., VerticalNews journalists report that a...
Antimicrobial susceptibility breakpoints and first-step parC mutations in Streptococcus pneumoniae: redefining fluoroquinolone resistance. (Research).
Jul 01, 2003; Clinical antimicrobial susceptibility Breakpoints are used to predict the clinical outcome of antimicrobial treatment. In...