返回顶部
首页 > 资讯 > 精选 >云端ABAP应用调试方法是什么
  • 422
分享到

云端ABAP应用调试方法是什么

2023-06-04 06:06:38 422人浏览 泡泡鱼
摘要

本篇内容介绍了“云端ABAP应用调试方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Jerry之前在SAP Cloud PlatfO

本篇内容介绍了“云端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应用调试方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 云端ABAP应用调试方法是什么

本文链接: https://lsjlt.com/news/236681.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 云端ABAP应用调试方法是什么
    本篇内容介绍了“云端ABAP应用调试方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Jerry之前在SAP Cloud Platfo...
    99+
    2023-06-04
  • ABAP宏的调试方法是什么
    本篇内容介绍了“ABAP宏的调试方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!我们都知道高级语言宏一般是无法调试的。但是ABAP的...
    99+
    2023-06-04
  • Python调试的方法是什么
    这篇文章主要介绍“Python调试的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python调试的方法是什么”文章能帮助大家解决问题。记录是必须的如果你...
    99+
    2024-04-02
  • VS2003调试的方法是什么
    本篇内容主要讲解“VS2003调试的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“VS2003调试的方法是什么”吧!因为ASP.NET运行时,发出的HTTP请求经过IIS,然后由IIS...
    99+
    2023-06-17
  • Python Debug调试的方法是什么
    本篇内容主要讲解“Python Debug调试的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python Debug调试的方法是什么”吧!日志是必须的如果在编写应用程序时没有设置日志...
    99+
    2023-06-16
  • vscode调试golang的方法是什么
    要在VSCode中调试Go代码,您需要进行以下步骤:1. 安装Go扩展:在VSCode中,点击左侧的扩展按钮,搜索并安装 "Go" ...
    99+
    2023-10-20
    vscode golang
  • ABAP文档生成方法是什么
    这篇文章主要介绍“ABAP文档生成方法是什么”,在日常操作中,相信很多人在ABAP文档生成方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ABAP文档生成方法是什么”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-04
  • pycharm断点调试的方法是什么
    在PyCharm中进行断点调试的方法如下:1. 在代码中选择要设置断点的行,可以通过点击行号区域来设置断点。断点会显示为红色圆点。2...
    99+
    2023-09-20
    pycharm
  • eclipse断点调试的方法是什么
    在Eclipse中进行断点调试的方法如下:1. 打开需要进行调试的Java文件。2. 在代码行的左侧单击,创建一个断点。断点会显示为...
    99+
    2023-09-14
    eclipse
  • eclipse单步调试的方法是什么
    在Eclipse中进行单步调试的方法如下:1. 在Eclipse中打开要调试的Java文件。2. 在代码的行号左侧单击,设置断点。断...
    99+
    2023-09-13
    eclipse
  • Python代码调试的方法是什么
    这篇文章主要介绍“Python代码调试的方法是什么”,在日常操作中,相信很多人在Python代码调试的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python代码调试的方法是什么”的疑惑有所帮助!...
    99+
    2023-06-02
  • javascript断点调试的方法是什么
    这篇文章主要介绍“javascript断点调试的方法是什么”,在日常操作中,相信很多人在javascript断点调试的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”javascript断点调试的方法...
    99+
    2023-07-04
  • Python之debug调试的方法是什么
    今天小编给大家分享一下Python之debug调试的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。本文用的测试代码...
    99+
    2023-07-05
  • PHP CLI应用的调试原理是什么
    PHP CLI应用的调试原理是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我们在Eclipse里选中一个PHP文件,右键选择Debug As->PH...
    99+
    2023-06-04
  • java调用dubbo接口测试的方法是什么
    在Java中调用Dubbo接口进行测试有以下几种方法:1. 使用Dubbo提供的测试框架:Dubbo提供了一个Mock框架,可以用于...
    99+
    2023-10-20
    java dubbo
  • golang多线程调试的方法是什么
    在 Golang 中调试多线程的方法主要有以下几种:1. 使用 GDB:GDB 是一个用于调试 C、C++、Golang 和其他编程...
    99+
    2023-10-20
    golang
  • eclipse调试多线程的方法是什么
    在Eclipse中调试多线程的方法如下: 在Eclipse中打开要调试的Java项目。 点击菜单栏中的"Run"...
    99+
    2024-02-29
    eclipse
  • Pig中调试脚本的方法是什么
    在Pig中调试脚本的方法有以下几种: 使用DESCRIBE命令查看数据表的结构和模式,确保输入数据和预期的一致。 使用DUMP命令...
    99+
    2024-04-02
  • ABAP调试器里查看类的静态属性的技巧是什么
    这篇文章主要介绍“ABAP调试器里查看类的静态属性的技巧是什么”,在日常操作中,相信很多人在ABAP调试器里查看类的静态属性的技巧是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ABAP调试器里查看类的静...
    99+
    2023-06-03
  • sql存储过程调试的方法是什么
    调试SQL存储过程的方法可以有以下几种:1. 使用PRINT语句:在存储过程中插入PRINT语句,将变量的值或执行的步骤输出到消息窗...
    99+
    2023-08-28
    sql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作