How to display all loaded programs and global variables - Use the Loaded Programs Tool
System Debugging: if you have problems that involve system programs (such as a function that can't
be accessed in the debugger), turn on this setting (or use menu Settings->System debugging On/Off " or the
command /hs in the debugger command field). You can declare a program as a system program by setting
Status to "System Program" in its attributes in the ABAP Editor (SE38) (check the radiobutton Attributes and
press Change button).
Update Debugging: turn on this setting if you need to analyze asynchronous updates, which are
functions that are called as follows: CALL FUNCTION ...' IN UPDATE TASK. These functions are executed
asynchronously in a special update work process (after the next COMMIT WORK statement). The debugger can't
follow them since it is attached to a single process. Set a breakpoint in the function that is called IN UPDATE
TASK, start debugging, turn on this setting, and the debugger will reach the breakpoint in your update function.
TRFC (In Background Task): Block Sending: turn on this setting if you need to analyze transactional
Remote Function Calls (TRFC), which are called as follows: CALL FUNCTION ...' IN BACKGROUND TASK.
These functions are called asynchronously, along with other TRFC functions of this logical unit of work (LUW),
after the next COMMIT WORK statement. The debugger can't follow them since it is attached to a single process.
When you turn on this setting, these TRFC functions are stored in the system for debugging instead of being
sent. Use the TRFC Monitor (transaction SM58) to analyze the unprocessed LUWs and select Edit->Debug LUW
to debug them.
Close debugger After Continue' (F8) and Roll Area End: usually after you press Continue (F8) in the
debugger session, the debugger session remains available but inactive when the program is finished. If you
switch on this setting, then the debugger will be closed automatically after pressing Continue (F8), when the roll
area (internal session) is ended.
Always Create Exception Obj.: turn on this setting if you need to analyze exception objects (if you
catch ABAP exceptions in your program via the CATCH CX_MY_EXCEPTION without specifying a reference
variable to which the exception object can be assigned). You can then examine the created exception objects in
the debugger via Display Exception Obj. magnifier button.
Afterwards your colleague can load the saved variant from a file or the database after starting a debugging
session (menu Debugger->Debugger Session->Load). All settings and breakpoints will become active
immediately. Of course he can choose which components of the variant to load: layout, settings, options,
breakpoints, or all of them.
Use the Data Explorer to view deep nested objects With the Objects Tool (Objects desktop) you can
examine object properties including visibility, inheritance, references to the object (where-used list ). You can
double-click on attributes in order to navigate to the subcomponents of a class. But if you have to analyze deep
nested objects, then the Data Explorer Tool is the better choice. The Data Explorer lets you drill down into nested
objects, structures, and references without losing context of the upper levels.
Use Text Translation to display large hex strings and the XML Browser to display XML data. It is
very time consuming to analyze the content of a variable that contains 2000 bytes of hex code. Therefore, the
detail view (Detail Display desktop) for simple types and strings allows you to translate hex strings into readable
text using the appropriate code page (field View , choose Text Translation). For binary XML data, there is the
XML viewer (field View , choose XML Browser).
In order to assure good performance of the diff tool, even for deeply nested variables no "deep diff" is executed.
This means that if you have for example an internal table as the attribute of an object, then you can at first only
check if the tables of both objects are equal. You will not get details about where they differ. To get the details of
differences, you can run a diff for the unequal subcomponents (Diff button in the corresponding result line). You
can use the History tab to get back to the first result list.
After activating debugging, you will stop in the system code of the http requests in the debugger.
You can set new user breakpoints
/h activate debugging
/hs activate system debugging
/ha skip dynpro (PAI, PBO) and directly debug ABAP code
/hx detach debugger
/hmusa create memory snapshot (can be used in the transaction S_MEMORY_INSPECTOR for memory
consumption analysis)
jdbg in SM37 restart of a finished or crashed background job for debugging
/ron start ABAP Runtime Analysis measurement (transaction SE30)
/roff stop ABAP Runtime Analysis measurement (transaction SE30)