91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

云端ABAP應用調試方法是什么

發布時間:2021-12-29 16:32:49 來源:億速云 閱讀:100 作者:iii 欄目:云計算

本篇內容介紹了“云端ABAP應用調試方法是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

Jerry之前在SAP Cloud Platform上進行nodejs和Java開發的時候,對運行在云上的用這兩門語言開發的應用的單步調試很頭痛。盡管仍然可以通過Jerry這篇文章  如何提高后臺服務應用問題的排查效率?日志 VS 遠程調試 里介紹的端口映射方式實現在本地電腦上調試云端應用的功能,但Jerry還是懷念On-Premises ABAP里面那種單步調試的便捷性——鼠標輕輕一點,斷點即設置好,無需任何配置,立即就能進行單步調試。

那么現在ABAP到了云端后,其單步調試還和之前的On-Premises環境里一樣易于使用么?答案是肯定的。

咱們就拿一個具體例子來體驗。

Jerry通過Restful ABAP Programming系列的前兩篇,已經開發出了一個支持增刪改查,支持自定義數據校驗和Action的Fiori應用。

我選中ID為103這條記錄,點擊Accept Travel按鈕后,期望通過該Action將其狀態設置為Accepted:

云端ABAP應用調試方法是什么

不幸的是,我沒能看到期望中的狀態變化,而是下面這個所有ABAP編程人員都不愿意看見的ABAP運行時錯誤提示界面。

云端ABAP應用調試方法是什么

不過,大家注意到了上圖右下角的Debug超鏈接么?和SAPGUI一樣,點擊之后立即就能打開調試器,能夠觀察發生這個運行時錯誤的調用棧,引起錯誤的詳細代碼位置和相關變量的值。

順便提一句,如果您想自定義在SAP GUI里出現的ABAP運行時錯誤顯示(就是在On-Premises環境下ST22事務碼里看到的內容),比如添加一段"佛祖保佑,永無BUG",那么可以參考Jerry這篇文章:

你的ABAP程序給佛祖開過光么?來試試Jerry這個小技巧

云端ABAP應用調試方法是什么

回到ABAP Development Tool里,我們先點擊Show超鏈接,就可以看到運行時錯誤明細:Short Text告訴我們,我們點擊Accept按鈕后,相關的處理框架有意地拋出一個CX_CSP_ACT_RESPONSE的異常。拋出異常的位置是在程序CL_CSP_ACT_CHECK_FEATS_ACTIONS里,這暗示我們,這個錯可能和Action執行前的檢查(CHECK)有關。

云端ABAP應用調試方法是什么

繼續向下滑動鼠標,發現在框架代碼內,因為從第353行內表it_feature_result里沒有讀出任何內容,因此sy-subrc不為0,導致進入第355行的RAISE SHORTDUMP分支。

云端ABAP應用調試方法是什么

在SAP Cloud Platform ABAP環境下當前登錄用戶發生的所有運行時錯誤,可以在ABAP Development Tool的Feed Reader視圖下查看,這個功能相當于SAP GUI里的ST22事務碼。

云端ABAP應用調試方法是什么

現在我們關于這個運行時錯誤的靜態信息了解得差不多了,下一步在調試器里觀察。

重新啟動Fiori應用,再次點擊Accept按鈕,出現運行時錯誤后點擊Debug超鏈接,ABAP調試器自動彈出,引起運行時錯誤的那一行代碼被高亮,同時左邊顯示出調用棧。

云端ABAP應用調試方法是什么

把鼠標放在it_feature_result上,發現這個內表是空的,當然無法從里面讀出數據了。這個內表是當前ABAP類CL_CSP_ACT_CHECK_FEATS_ACTIONS的方法handle_rejected_instances的輸入參數,需要搞清楚為啥這個輸入參數為空。

云端ABAP應用調試方法是什么

從拋出運行時異常的棧幀往外看一幀,就知道這個輸入的內表是通過第291行的execute_feature_controllers生成的,這個方法會通過回調函數的方式,調用我們在Behavior Definition實現的一個get_features方法里:

云端ABAP應用調試方法是什么

這里我們就找到了引起這個運行時錯誤的根源:因為之前Jerry出于測試目的,注釋了一段代碼,導致get_features被框架回調時,沒有返回框架期望的數據:

云端ABAP應用調試方法是什么

當Jerry把這段需要的代碼重新enable然后設置斷點,點擊Accept按鈕,通過調用棧可以清晰看到框架的execute_feature_controllers是如何調用到我們實現的get_features回調方法的。

云端ABAP應用調試方法是什么

“云端ABAP應用調試方法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

应城市| 宜良县| 梁山县| 玉田县| 加查县| 咸阳市| 香格里拉县| 湘阴县| 通许县| 柳林县| 合肥市| 阿勒泰市| 桃源县| 桓台县| 西吉县| 北票市| 怀化市| 阿瓦提县| 淮北市| 定远县| 虞城县| 徐闻县| 仁怀市| 夹江县| 花垣县| 会昌县| 辽中县| 沈阳市| 岚皋县| 清远市| 和顺县| 马公市| 射洪县| 昆山市| 昌吉市| 宁海县| 沐川县| 沁源县| 永丰县| 长治市| 贞丰县|