您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么使用SAT打開的SAP應用的性能和調用棧”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么使用SAT打開的SAP應用的性能和調用棧”吧!
SAT的截圖:
大家最常使用SAT的方式,也就是在上圖In Dialog區域里,輸入事務碼,ABAP報表或者Function Module的名稱,然后點擊Execute按鈕. 如此一來,指定的這些ABAP程序會在SAT Trace模式下運行,自動生成包含了執行性能和調用棧等信息,在程序結束退出Trace模式下之后即可查看。
SAT生成的Trace結果,以樹形結構顯示ABAP程序執行的每一調用棧和性能數據,無論是進行性能分析,還是學習一段陌生代碼的執行邏輯,都非常有用。
那么這里有個問題,如果想跟蹤或者想研究的應用,是通過瀏覽器打開的,例如SAP S/4HANA Fiori應用,SAP ABAP WebDynpro,WebClient UI這種,倘若想研究瀏覽器里某個應用點了某個按鈕之后,背后發生了什么,如何用SAT來跟蹤?這也是Jerry的同事過去經常問我的一個問題。
盡管我們可以用SAT界面右部的In Parellel Session來完成,但Jerry覺得其步驟稍嫌繁瑣,反正Jerry從來不用,詳細步驟在這篇SAP社區博客里有詳細介紹:
Next Generation ABAP Runtime Analysis (SAT) ? How to analyze program flow
本文介紹另一種辦法,這也是Jerry工作中用的辦法。
假設有一個SAP Fiori應用,點了某個按鈕后,會觸發一個OData服務調用,從ABAP Netweaver服務器上取數據。我已經在Chrome開發者工具里把這個OData服務的url抄了下來,維護在Postman里,隨時可以重復調用。
這種方法的思路概括如下:
(1) 在要跟蹤的后臺代碼的起始和結束的位置各打一個斷點,假設起始位置斷點為1,結束位置為2.
(2) 在瀏覽器或者其他工具里啟動應用,觸發斷點1,此時在調試器里開啟SAT的Trace模式。
(3) 調試器里直接按F8,程序會執行到斷點2然后停下來。此時在調試器里關閉SAT的Trace模式。
(4) 結束程序的執行,回到SAT,查看Trace結果。
這種方法的關鍵在于找準斷點1和斷點2的位置。如果是跟蹤自己熟悉的應用,找準位置不難;如果跟蹤的應用自己不熟悉,那么就在框架開始執行和結束的位置各設置一個斷點就好了。
還是以上面的OData服務為例,因為抄下來的url片段包含了/sap/opu/odata/sap, 這起始已經告訴了我們在哪里設置斷點。
打開事務碼SICF,輸入OData然后查詢,在結果列表里雙擊OData節點:
凡是瀏覽器里從ABAP Netweaver后臺發起的HTTP調用,只要url包含/sap/opu/odata, 必定會被SICF事務碼里odata這個節點分配的ABAP Handler類處理。
雙擊進入這個類的HANDLE_REQUEST方法,在其方法開始的位置設置斷點1,在這個方法的最后一行設置斷點2.
現在打開瀏覽器或者執行Postman以觸發斷點1,在調試器里點擊New Tool按鈕,
在彈出窗口里,點擊Special Tools里的Trace按鈕,
雙擊這個圖標,開啟SAT的跟蹤模式:
Status欄看到綠燈,說明當前已經在Trace模式了:
F8執行到第二個斷點,雙擊下圖藍色區域的圖標以關閉SAT跟蹤模式。關閉后,Status欄的綠燈變紅,同時TraceFile里出現一個卷軸圖標,提示我們SAT跟蹤文件已經生成了。
打開SAT事務碼,看到這個成功生成的結果文件。
樹形結構的調用棧,每個棧的執行性能清晰地羅列出來。
大家可以把這種方法和Jerry在文章開頭提到的博客里介紹的另一種辦法做比較,看自己更喜歡哪一種。
到此,相信大家對“怎么使用SAT打開的SAP應用的性能和調用棧”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。