SAP技術專家的ABAP調試器培訓材料

首先弄清楚ABAP Classic調試器和新調試器的區別:session

Classic debugger:app

(1) Static breakpointthis

a. BREAK-POINT : non-user specific b. BREAK user name user specificspa

(2) Dynamic breakpointdebug

New debugger:3d

(1)Static breakpoint (2)Dynamic breakpoint a. session breakpoint b. external breakpoint調試

Session 斷點和External斷點的區別code

(1) Session BP is only visible in all external sessions belonging to the same user session, while External BP is visible across all user sessions. Therefore, only External BP is valid for BSP / Webdynpro debugging.server

(2) When a user logs off, Session BP will be deleted while external BP persists.blog

By setting this flag, if external session A is running, and in external session B ( A and B belongs to the same user session ) you set a session breakpoint in the program source code, the BP will be triggered immediately .

ABAP獨佔斷點(Exclusive Breakpoint)和非獨佔斷點的區別

下圖是非獨佔斷點:

下圖是獨佔斷點:

Exclusive mode means the application to be analyzed exclusively occupies a work process of the application server during debugging. If all exclusive debug work processes are occupied, the Debugger is switched to non-exclusive mode. (rdisp/wpdbug_max_no )

Limitation for non-exclusive mode:

Due to technical limitations in ABAP debugger implementation, there are following limitations when debugger is run under non-exclusive mode: (1) No possible to debug statement between SELECT and ENDSELECT. In this case, program terminates with this error:

(2) No possible for conversion / field exit. (3) No possible for debugging in production system, program terminates with exception DEBUGGING_NOT_POSSIBLE.

ABAP調試器裏的一些指標該如何閱讀?

考慮下面這段最簡單的ABAP代碼:

調試器裏查看A1這個類型爲內表的變量:這裏的[2×1(8)]是什麼意思?

2: table row number 1: table column number 8: byte length of table row

The time for which the new Debugger is active is determined by the profile parameter rdisp/max_debug_lazy_time – which is set to 600 seconds in the standard version. After this time space has elapsed, the Debugger process is exited automatically and control is passed back to the application.

一些小技巧:how to debug background RFC?

解決方案:使用事務碼sbgrfcmon

小技巧2:如何調試update task

小技巧3:如何使用ABAP觀察點 Watch point

練習:咱們進入事務碼SE09時,會觀察到User字段會自動被填充成當前登陸用戶。如何經過觀察點快速找到是哪一行代碼賦的值?

When we use SE09, how can we find the logic of the User? When and where is this field filled? What does content come from? Debugging step by step will be very time-consuming.

小技巧4:使用ABAP檢查組 Check group

小技巧5:事務碼SRDEBUG

小技巧6:調試腳本

要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":

相關文章
相關標籤/搜索