Breakpoint

From Wikipedia, the free encyclopedia

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 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 also used. For example, the reading, writing, or modification of a specific location in or area of memory. This is often referred to as a data breakpoint, or a watchpoint.

Other kinds of conditions include interrupting execution at a particular time, or upon a keystroke, and so on.

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, which, particularly for data breakpoints, can impact on the performance of the application being debugged.

[edit] See also

In other languages