Breakpoints 

Instead of starting an ABAP program directly in the Debugger, you can also debug a program by creating one or more breakpoints in the program. A breakpoint is a signal at a particular point in the program that tells the ABAP runtime processor to interrupt processing and start the Debugger. The program runs normally until the breakpoint is reached.

There is also a special kind of breakpoint called a watchpoint. When you use watchpoints, the Debugger is not activated until the contents of a particular field change. For more information, see Watchpoints.

Breakpoint Variants

The Debugger contains different breakpoint variants:

Static

The BREAK-POINT statement in an ABAP program. Static breakpoints are not normally user-specific. However, you can make them user-specific.

Directly-set dynamic breakpoints

Can be set in the ABAP Editor or the Debugger. Dynamic breakpoints are displayed as stop signs in the Debugger and ABAP Editor. Unlike static breakpoints, they are user-specific, and are deleted when you log off from the R/3 System.

Breakpoint at statement

The Debugger stops the program directly before the specified statement is executed. You set this special kind of dynamic breakpoint in the Debugger.

Breakpoint at event

The Debugger stops the program directly before an event, subroutine, or module pool is called. You set this special kind of dynamic breakpoint in the Debugger.

Breakpoint at function module

The Debugger stops the program directly before the specified function module is called.

Breakpoints at System Exceptions

The Debugger stops the program directly after a system exception, that is, after a runtime error has been intercepted by a CATCH statement.

 

Use

Static Breakpoints

Static breakpoints are not normally user-specific. Once a user has inserted a BREAK-POINT statement in an ABAP program, the system always interrupts the program at that point. You should set static breakpoints whenever more than one programmer is working on the same program and you always want to stop the program in the same place. You should only use static breakpoints during the development phase of an application.

See also: Static Breakpoints

Dynamic Breakpoints

Dynamic breakpoints are user-specific. You should therefore use them when you only want the program to be interrupted when you run it yourself. All dynamic breakpoints are deleted when you log off from the R/3 System.

Dynamic breakpoints are more flexible than static breakpoints, because you can deactivate or delete them at runtime. They have the following advantages:

See also: Dynamic Breakpoints

Special Dynamic Breakpoints

Special dynamic breakpoints are useful when you want to interrupt a program directly before a particular ABAP statement, a subroutine, or an event, but do not know exactly where to find it in the program code. Special dynamic breakpoints are user-specific. You can only set them in the Debugger.

See also:

Breakpoints at Statements

Breakpoints at Subroutines

Breakpoints at Function Module Calls

Breakpoints at System Exceptions