日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Jerry带您了解Restful ABAP Programming模型系列之三:云端ABAP应用调试

發(fā)布時間:2023/12/19 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Jerry带您了解Restful ABAP Programming模型系列之三:云端ABAP应用调试 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Jerry的Restful ABAP Programming模型介紹系列的前兩篇文章:

  • 30分鐘用Restful ABAP Programming模型開發(fā)一個支持增刪改查的Fiori應用
  • Jerry帶您了解Restful ABAP Programming模型系列之二:Action和Validation的實現(xiàn)

今天咱們來聊聊SAP云平臺ABAP環(huán)境上的調試問題。

Jerry在SAP社區(qū)上寫了600多篇博客,閱讀量最高的大概要算下面這篇寫于2013年的文章:Six kinds of debugging tips to find the source code where the message is raised

其實實際閱讀量遠大于14萬,因為2016年SAP社區(qū)改版,之前的閱讀量清零了。

這個數字也說明廣大SAP開發(fā)者們對代碼調試這個話題的重視程度。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

希望通過Jerry這個簡單的例子能夠讓大家對SAP Cloud Platform ABAP編程環(huán)境里如何進行調試有一個初步的印象,感謝閱讀。
要獲取更多Jerry的原創(chuàng)文章,請關注公眾號"汪子熙":

總結

以上是生活随笔為你收集整理的Jerry带您了解Restful ABAP Programming模型系列之三:云端ABAP应用调试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美在线一级视频 | 美国免费黄色片 | 91国产免费观看 | 日韩污视频在线观看 | 亚洲一区成人在线 | 日本不卡一区在线 | 成人在线视频免费看 | 伊人网在线免费观看 | 欧美日韩激情在线 | 中文字幕有码av | 亚洲激情啪啪 | 天天摸天天做天天爽 | 高清欧美精品xxxxx在线看 | 国产在线精品成人欧美 | 98超碰在线 | 欧美va在线观看 | 国产草逼视频 | 有码视频在线观看 | 日韩av手机在线播放 | 古代黄色片 | av鲁丝一区鲁丝二区鲁丝三区 | 成人黄色av| av女人的天堂 | 日韩欧美一二三区 | 午夜欧美成人 | 精品国产制服丝袜高跟 | 妖精视频在线观看免费 | 欧美激情久久久久久 | 操操网 | 校园伸入裙底揉捏1v1h | 在线cao| 午夜吃瓜 | 亚洲男男网站 | 久久爱99| 日韩一区二区三区三四区视频在线观看 | 精品国产一区二区三区在线 | 51成人精品网站 | 欧美性生交xxxxx | 欧美久久久久久久 | chinese中国性按摩hd | 日韩在线电影一区二区 | 亚洲精品欧美精品 | 中文字幕在线观看网 | 欧美一二三 | 超碰在线综合 | 天天综合网入口 | 国产午夜精品无码 | 大肉大捧一进一出好爽视频动漫 | 亚洲视频在线观看免费视频 | 亚洲桃色av | 天天躁日日躁狠狠躁av | 欧美成人精品一区二区三区 | 国产精品第七页 | 亚洲视频精品 | 欧美综合一区二区 | 国内偷拍第一页 | 国产女主播在线观看 | 黄视频在线免费看 | 国产另类在线 | √天堂8资源中文在线 | 亚洲国产综合av | 日韩字幕| 欧美日本一区 | missav|免费高清av在线看 | 国产一级片毛片 | 成人在线小视频 | 久草资源网站 | 亚洲一区二区三区黄色 | 免费jizz| 久久久久区 | 丝袜一级片 | www.白白色 | 91性高潮久久久久久久久 | 国产伦精品一区二区三区视频1 | 亚洲天堂手机 | 阿的白色内裤hd中文 | 懂色av一区二区在线播放 | 天天干网站 | 亚洲AV成人无码一二三区在线 | 青青草原免费观看 | gay男互凵gay男同偷精 | 国产无遮挡又黄又爽在线观看 | 国产性猛交xxxx免费看久久 | 懂色av蜜臀av粉嫩av | 超碰麻豆| 污污网站在线观看 | 国产九色av | 一级片www | 激情毛片视频 | 免费网站观看www在线观看 | 欧美激情国产精品免费 | 一级做a免费 | 成人精品在线视频 | 在线视频成人 | 我要爱爱网 | 久久综合中文字幕 | 日韩欧美在线观看一区二区三区 | 黄色裸体视频 | 国产欧美日韩视频在线观看 |