About Debugging- Part1
About Debugging in SAP :
The objective of this document is aimed at explaining the concept of SAP debugger types and tricks.I assume that this will be a helpful for my fellow readers.
what are the types of SAP debugger:
- Classic debugger
- New debugger (after NetWeaver 04)
What are the limitations of classic debugger :
- Debugger shares the context data with application being debugged and vice versa , meaning Debugger appears in the same SAP GUI window as the application being debugged.
- Not all ABAP code can be debugged :-using classic debugger it is not possible to debug the conversion exit’s and field exits also not possible to debug statements like CALL SCREEN and CALL DIALOG
In fact may be sap don’t want to make the master of classic debugger disappoint so they have built a new debugger as a Different tool and provided option to switch between them.
Selecting the New ABAP Debugger as the default debugger tool
In earlier versions before netweaver 04 classic debugger will be selected by default and in after versions of netweaver new debugger is selected by default. If not to make new abap debugger as default use the following steps
- Open abap editor.
- From the menu select Utilities->Settings->User specific Settings.
- From the User specific Settings dialogue select the Radio Button New Debugger.
What are the advantages of New debugger over Classic Debugger :
- It shares different context, ABAP debugger open in separate SAP GUI window. That means when you enter “/h” in the command field of any application, the debugger window is created after the next action and it automatically gets open in separate GUI. And also we can close the debugger at any point of time using “/hx” command from the debugger window.
Main components of the New ABAP Debugger user interface
As shown above there are 5 main components of ABAP new Debugger
- Process information area
- Control area
- Source code information area
Process Information area : The process information area of the user interface provides information about the status of the debugger. It includes
- Session number (1) in attachment
- Debug setting/session type (/hs) in attachment where as
HTTP- indicates HTTP debugging.
RFC->destination indicates debugging of an RFC module at the
Control area : Standard features for execution control (step into, step over, return, continue) in the New ABAP Debugger are similar to those in the Classic ABAP Debugger. New debugger also provides shortcuts for the same.
- step into -> F5
- step over -> F6
- Return -> F7
- Continue -> F8
Source code information area : This will show information about source code. Information includes main programe name, include name, screen number and values of system variables such as sy-tabix and sy-subrc
Desktops and tools: here we will be able to see the code, Variable Fast Display. We can configure the desktops to
your needs and switch to specialized desktops for special debugging tasks (such as comparing two variables or analyzing an internal table in detail).
As we can see in below image we will be able to see 7 standard desktops are available Desktop 1, Desktop 2, and Desktop 3, Standard, Structures, Tables, Objects, etc.
7 standard desktop
Check my next blog post About Debugging- Part2 for the debugging Tips and tricks.
- which mainly includes what 7 standard desktops indicates how it is different from each other tab.
- how to change variables at run time in Debugger.
- how to set breakpoints and watch point from debugger.
- how to compare values of two internal tables from debugger.
- how to download internal table content into excel using debugger.
- how to create test variant from debugger.
- how to set conditional breakpoints.etc,
Maybe you could also give some information about debugging in ADT (eclipse) ?
Yes i have plan for that in up coming blog post.
A smal note:
In recent releases (can't pinpoint since when) the 'new' debugger is now called “Standard Debugger”.
I mentioned that here already:
I was just going to comment it's quite funny it is still called the "new" debugger.
You imply that you can debug field exits in the standard (anything that's been around since Netweaver 04 isn't "new") debugger. Sure about that?