Show TOC

Function documentationSettings Locate this document in the navigation structure

 

You use the Settings to set the debugging mode of a program.

To open the Debugger Settings dialog box, choose   Settings   Change Debugger Profile/Settings  .

Features

Debug Modes
  • System Debugging

    System Debugging lets you debug system programs, programs whose Status attribute is set to System Program. Turn this setting on if you have problems involving system functions that you cannot see in the debugger.

    Saving and Validity: Choose the Save button in the application tool bar of the debugger to save this setting for future debugging sessions. The setting applies to the external session that you are debugging and therefore to all internal sessions started in the external session. If you save the setting, then it also applies to the other external sessions of your current logon to the system.

  • Update Debugging

    Function modules called with the IN UPDATE TASK argument are not executed inline in a program. Rather, they are delegated to the Update work process, which may not even be in the same application server. The ABAP runtime collects updates and dispatches them for execution in a separate LUW at the next COMMIT WORK statement. As such, updates are beyond the reach of the debugger.

    If you are having a problem in an update module, then switch on this option to make the update module visible in your debugger session. If this option is active, then the debugger opens a second debugger window when a COMMIT WORK statement is processed.

    The separate debugger window is stopped in the RSM13000 program, the central update handler. You can skip the RSM13000 code by setting a breakpoint in your update function module. The update debugger window stops at that breakpoint.

    Saving and Validity: You cannot save the setting of this option as a debugger default. The setting applies to the external session that you are debugging and therefore to all internal sessions started in the external session.

  • TRFC (in background task): Block Sending

    The statement CALL FUNCTION ... IN BACKGROUND TASK requests transactional RFC (tRFC) processing of the function module. The system collects tRFC calls and processes them in additional internal sessions at the next COMMIT WORK statement. The separate asynchronous processing of tRFC calls means that they are not visible in the ABAP debugger.

    Use this setting to tell the debugger to collect tRFC calls but to suppress their processing at COMMIT WORK. You can then find the unprocessed calls in the tRFC Monitor (transaction SM58).in SM58, use   Edit   Debug LUW   to debug the tRFC calls.

    Saving and Validity: You cannot save the setting of this option as a debugger default. It applies only to the current internal session.

  • ESI Debugging

    Select this checkbox if you want to debug a service triggered by ESI.

  • Shared Objects: Debug Automatic Area Structure

    Select this checkbox to have the debugger start automatically for the process that creates a shared object area.

  • Control Framework: Automation Controller Always Proceses Requests Synchro.

    This setting applies to the SAP Control Framework, which is the ABAP interface for controls such as the Tree Control, ALV Grid Control or HTML Control in SAP GUI windows.

    For performance reasons, the events and requests for these controls are usually queued and then flushed together (asynchronous processing). It is therefore difficult to identify which queued event or request is responsible for an error in a SAP GUI control.

    Use this option to have all control requests flushed immediately. If a control error results, then the debugger displays a corresponding message. Setting the option slows down performance because of the extra round trips between the program and the SAP GUI controls.

    Saving and Validity: You cannot save the setting of this option as a debugger default. It applies only to the current internal session.

Specific Settings
  • Close the Debugger after 'Continue'(F8) and Roll Area End.

  • Copy Session Breakpoints Automatically.

  • Always Create Exception Obj..

    If you catch an ABAP exception but do not specify the INTO <reference> argument, then ABAP does not create an exception object when the CATCH is processed. You cannot examine such an object in the debugger.

    Use this setting to have ABAP create exception objects for class-based exceptions even if INTO <reference> is missing.

    If an exception occurs, then the debugger announces that it has created an exception object. In addition to the status message, two other symbols appear in the display, with the quick info texts Display Exception Object and Statement that Caused the Exception.

    • If you choose Display Exception Object, the system displays the attributes and interfaces of the exception class together with their contents. The text description key that is assigned to the exception is displayed in a quick info text with the name of the constant that was generated for this key.

      For example, for a file exception, the system might display READ_ERROR or WRITE_ERROR in the quick info text for the attribute TEXTID with exception of type CX_SY_FILE_IO.

    • If you choose Statement that Caused the Exception, the system displays the line of the source code containing the statement that caused the exception. The statement is marked in the source code.

    Choose the Save button in the application tool bar of the debugger to save this setting for future debugging sessions. The setting applies to the external session that you are debugging and therefore to all internal sessions started in the external session. If you save the setting, then it also applies to the other external sessions of your current logon to the system.

  • Cross-Roll-Area Stack Active

    If you select this setting, the system continues to record the call stack even if the internal session changes. If you do not select it, the call stack displays only the stack of the current internal session.

  • Checking Sort Before READ BINARY SEARCH

    The sort order of an internal table must match the keys used in READ BINARY SEARCH statement. If the sort order is incorrect, because the table either was never sorted or was sorted with different sort key fields, the results of the READ BINARY SEARCH are unpredictable. Usually, the entry you are looking for is not found, even if it exists.

    Use this setting to have the debugger check the sort order of an internal table before executing a READ BINARY SEARCH statement.

    If the sort order is incorrect, then the debugger triggers a short dump of type ITAB_ILLEGAL_ORDER. The short dump identifies the incorrectly sorted lines. For example, you may find the message 'In the case at hand, the rows 4 and 5 of the table “\PROGRAM=PGM1\DATA=ITAB” weren't sorted according to the key specified in the READ statement.

    The option may slow down the debugger considerably if you are working with a large internal table.

    Saving and Validity: You cannot save the setting of this option as a debugger default. It applies only to the current internal session.

  • Active Layer Aware Debugging

    Here you can activate or deactivate Layer Aware Debugging. See Using Object Sets and Profiles in the ABAP Debugger.