SAP技術專家的ABAP偵錯程式培訓材料
首先弄清楚ABAP Classic偵錯程式和新偵錯程式的區別:
Classic debugger:
(1) Static breakpoint
a. BREAK-POINT : non-user specific
b. BREAK user name user specific
(2) Dynamic breakpoint
New debugger:
(1)Static breakpoint
(2)Dynamic breakpoint
a. session breakpoint
b. external breakpoint
Session 斷點和External斷點的區別
(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.
(2) When a user logs off, Session BP will be deleted while external BP persists.
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的原創文章,請關注公眾號"汪子熙":
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2565101/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ANSYS AUTODYN專題技術培訓
- Java程式設計師技術培訓需要培訓哪些?Java程式設計師
- SAP專家培訓之Netweaver ABAP記憶體管理和記憶體調優最佳實踐記憶體
- 組員技術培訓
- Oracle DBA技術培訓Oracle
- 成都學程式設計技術去哪家培訓?程式設計
- 黑馬程式設計師Java培訓和Android培訓Java技術二程式設計師JavaAndroid
- 黑馬程式設計師Java培訓和Android培訓_java高新技術(一)程式設計師JavaAndroid
- 培訓當前相關技術
- SAP ABAP CDS view 檢視的 Replacement 技術介紹View
- 做技術諮詢等於做技術培訓嗎?
- 網路安全實用技術培訓
- Java培訓技術能過關嗎Java
- 培訓效果評價技術(轉載)
- “達內”JAVA技術培訓有感(二)Java
- 什麼是 SAP ABAP FDA - Fast Data Access 技術?AST
- 好程式設計師Java培訓分享Java之反射技術程式設計師Java反射
- 微信偵錯程式
- UI設計培訓技術分享:配色秘籍UI
- 關於SAP授權培訓
- SAP專家培訓之NetweaverABAP記憶體管理和記憶體調優最佳實踐記憶體
- SAP ABAP 程式之間的呼叫
- 好程式設計師Java培訓Java程式設計師必學技術程式設計師Java
- 好程式設計師大資料培訓分享Spark技術總結程式設計師大資料Spark
- 好程式設計師HTML5培訓技術分享JavaScript 閉包程式設計師HTMLJavaScript
- 作為一個SAP開發人員,需要學習SAP傳統技術(比如ABAP)以外的開源技術嗎?
- 聊聊技術管理(一)入行之技術管理和技術專家
- SAP ABAP操作Office Excel的開源專案abap2xlsxExcel
- java技術培訓之File類中常用的構造方法Java構造方法
- 行動網路安全技術與應用培訓
- SAP ABAP DDIC 結構欄位的一些技術限制條件
- ABAP 技術小結
- Xcode偵錯程式LLDBXCodeLLDB
- go語言偵錯程式Go
- 黑馬程式設計師Java培訓和Android培訓:培訓前奏程式設計師JavaAndroid
- PMP專案管理培訓專案管理
- 如何使用 ABAP 程式消費 SAP ABAP OData 服務
- UI培訓技術分享:設計大神都在用的10種技法!UI