You can set three different types of breakpoints:
When you use the Attachable Debugger, the source code for the program being debugged on the external AVM is located outside the Progress Developer Studio for OpenEdge workspace. To debug the file on the attached AVM, you must set a breakpoint in that file before it is executed by the AVM. You can add or remove breakpoints during debugging. The attached AVM notifies Progress Developer Studio for OpenEdge only if a breakpoint is reached.
When Progress Developer Studio for OpenEdge receives a breakpoint hit notification from the attached AVM, it performs a source lookup for the notified file name. If it finds a matching file, it opens the file the in ABL Editor for debugging. If it does not find the file name, it notifies you accordingly and prompts you to edit the source lookup path. For more information, see Edit Source Lookup Path dialog.
When you set a breakpoint on a line of ABL code while debugging an AppServer or a WebSpeed instance, the Debugger adds the breakpoint to all of the AppServer or WebSpeed agents. When any of these agents reaches the breakpoint, it notifies the debugger of its current state, through the broker. Upon receiving the notification, Progress Developer Studio for OpenEdge verifies if the source file and the code being executed are the same. If the file within the Progress Developer Studio for OpenEdge environment is the same as that in the AppServer or WebSpeed agent session, then the file opens up in the ABL Editor with the breakpoint hit line highlighted. The Debug view updates itself to display the agent on which the file is being executed.
You can use the SET-BREAK and CANCEL-BREAK methods in ABL code to insert and remove breakpoints programmatically. However, the DEBUG and INITIATE methods, as well as the VISIBLE attribute, are ignored for Progress Developer Studio for OpenEdge Debugger sessions. This feature is helpful to control breakpoints at specific points in your code, regardless of how the surrounding code is modified, or to set breakpoints in include files
Progress Developer Studio for OpenEdge allows you to set breakpoints in include files that might appear in many different procedures. During remote debugging, the external AVM notifies Progress Developer Studio for OpenEdge of a breakpoint hit in an include file while executing a program that contains the include file. You can also set breakpoints in include files in a program launched from within Progress Developer Studio for OpenEdge, while debugging a local AVM.