Show TOC

Breakpoints in the Debugger - CharacteristicsLocate this document in the navigation structure

Breakpoints in the ABAP Development Tools (ADT) are by default external user breakpoints. They are valid:

  • In your current ABAP Project
  • For programs running under your ABAP user
  • On all of the application servers of the back end system.

These breakpoint attributes mean that you can use breakpoints to debug your ABAP code when you start a program and run it interactively.

You can also use breakpoints to capture in the debugger a program that has been started asynchronously and without your direct action. You do not necessarily have to run your code interactively from the ADT to debug it. A program that you want to capture in the debugger does not even have to be started from your current computer.

For example, you can set a breakpoint in the IDE in ABAP code that handles an HTTP or RFC request. If you send an HTTP request from an Internet browser to the back end system, then the IDE will open the code in the debugger when the request processing reaches your breakpoint. It is best to have the code with the breakpoint open in the IDE editor. But the breakpoint is respected even if you do not have the program with the breakpoint open in the editor.

You can of course also start an ABAP program to debug interactively from the IDE. Even if you run an ABAP PROGRAM that executes in the embedded SAP GUI, the IDE Debug perspective opens when your breakpoint is reached.

Dynamic and Static Breakpoints

You can set a static breakpoint at a particular line of code. The breakpoint sticks to the code line; if you add or delete code above the line, then the breakpoint relocates along with the code line.

You can also set dynamic breakpoints. These are breakpoints that are triggered when the program that you are running reaches a particular ABAP statement or exception class.

Dynamic breakpoints take effect for any program that runs under your user. But you can limit their scope to the scope of the debugger debugger in order to avoid stopping at all different kind of programs that are executed along the way.