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記憶體管理和記憶體調優最佳實踐記憶體
- 組員技術培訓
- 成都學程式設計技術去哪家培訓?程式設計
- SAP ABAP CDS view 檢視的 Replacement 技術介紹View
- 網路安全實用技術培訓
- Java培訓技術能過關嗎Java
- 什麼是 SAP ABAP FDA - Fast Data Access 技術?AST
- 好程式設計師Java培訓分享Java之反射技術程式設計師Java反射
- Xcode偵錯程式LLDBXCodeLLDB
- UI設計培訓技術分享:配色秘籍UI
- SAP ABAP 程式之間的呼叫
- 好程式設計師Java培訓Java程式設計師必學技術程式設計師Java
- SAP專家培訓之NetweaverABAP記憶體管理和記憶體調優最佳實踐記憶體
- Python 偵錯程式入門Python
- PsySH作為偵錯程式
- 好程式設計師HTML5培訓技術分享JavaScript 閉包程式設計師HTMLJavaScript
- 好程式設計師大資料培訓分享Spark技術總結程式設計師大資料Spark
- 作為一個SAP開發人員,需要學習SAP傳統技術(比如ABAP)以外的開源技術嗎?
- SAP ABAP DDIC 結構欄位的一些技術限制條件
- java技術培訓之File類中常用的構造方法Java構造方法
- 如何從 ABAP 偵錯程式裡提取某個內表的內容用於單元測試
- 好程式設計師大資料培訓分享Hadoop技術優缺點程式設計師大資料Hadoop
- 聊聊技術管理(一)入行之技術管理和技術專家
- 行動網路安全技術與應用培訓
- 《深度學習DeepLearning核心技術實戰培訓班》深度學習
- 偵錯程式到底怎樣工作
- 如何使用 ABAP 程式消費 SAP ABAP OData 服務
- 反除錯 -- 利用ptrace阻止偵錯程式附加除錯
- Emacs 除錯祕籍之 GUD 偵錯程式Mac除錯
- UI培訓技術分享:設計大神都在用的10種技法!UI
- 為什麼我不推薦去SAP培訓機構參加培訓?
- SAP Cloud for Customer 標準培訓課程Cloud
- 2.IDEA,Maven,偵錯程式的基本使用IdeaMaven
- 實戰區塊鏈技術培訓之Go語言區塊鏈Go
- UI設計培訓技術教程之字型排版規則UI
- 軟體測試培訓需要學習什麼技術