先进的调试功能

2020-09-10 22:57发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我对ABAP中的一些高级调试功能有一些疑问。 我曾尝试在论坛中进行搜索,但不幸的是,我没有得到有关我的情况的任何博客。

在我的项目中,大多数时候,abaper需要在生产中进行调试以找到问题的根本原因。 现在,许多开发人员在生产环境中均无权使用" Goto语句"之类的命令,通过该命令我们可以返回或跳过几行代码以查看会发生什么。

场景1)

在生产服务器中,由于没有授权,我无法使用" Goto语句",因此如何使用" breakpoint at"命令直接将断点保持在682行,而不是使用"/img/h"逐行 命令?

我自己尝试过,但是我不知道需要在源代码选项卡的以下屏幕中输入哪些内容:

方案2:

我有一个内部表,需要在其中检查条件类型。 当我对KSCHL列执行条件类型为" ZD06"的ctrl + f时,它表明在第13行中它存在。

但是当我向下滚动时,对于相同的条件类型,第162行中还存在另一条记录:

因此,在上述情况下,我是否需要创建观察点以检查内部表中的多个值,或者是否有其他方法可以解决这个问题?

此致

Manish

(70.6 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我对ABAP中的一些高级调试功能有一些疑问。 我曾尝试在论坛中进行搜索,但不幸的是,我没有得到有关我的情况的任何博客。

在我的项目中,大多数时候,abaper需要在生产中进行调试以找到问题的根本原因。 现在,许多开发人员在生产环境中均无权使用" Goto语句"之类的命令,通过该命令我们可以返回或跳过几行代码以查看会发生什么。

场景1)

在生产服务器中,由于没有授权,我无法使用" Goto语句",因此如何使用" breakpoint at"命令直接将断点保持在682行,而不是使用"/img/h"逐行 命令?

我自己尝试过,但是我不知道需要在源代码选项卡的以下屏幕中输入哪些内容:

方案2:

我有一个内部表,需要在其中检查条件类型。 当我对KSCHL列执行条件类型为" ZD06"的ctrl + f时,它表明在第13行中它存在。

但是当我向下滚动时,对于相同的条件类型,第162行中还存在另一条记录:

因此,在上述情况下,我是否需要创建观察点以检查内部表中的多个值,或者是否有其他方法可以解决这个问题?

此致

Manish

(70.6 kB)
付费偷看设置
发送
7条回答
梦想连接
1楼 · 2020-09-10 23:39.采纳回答

S1(源代码处的断点):有两个屏幕框架,一个用于ABAP源代码,一个用于dynpro源代码。 因此,要在ABAP代码的行号682上定义断点,请在ABAP屏幕框架而不是dynpro框架中输入682! 现在,您应该被授权通过事务SE38显示ABAP源代码,并直接通过ABAP编辑器设置断点。

S2:您的问题不清楚。 您是否要在内部表HKOMV中添加或修改具有KSCHL ='ZD06'列的行时停止? 如果是这样,则您可以自己找到策略,或者创建一个调试器脚本,每次更改HKOMV时都会触发该脚本,该脚本应读取该语句,确定包含该行的变量,并仅在KSCHL为'ZD06'时停止 (为新手写的脚本不明显)。

me_for_i
2楼-- · 2020-09-10 23:23

@ Quynh Doan Manh 我知道。 但是正如我在上面的注释中解释的那样,如果需要" breakpoint at"命令,我需要知道可以输入哪些输入。 据我所知,我找不到有关这些功能的任何文档或博客文章。 我需要它们,因为我必须在生产服务器中调试许多标准程序,并且我不想逐行检查它们,因为这非常耗时。 我的情况1只是一个例子。

SKY徐
3楼-- · 2020-09-10 23:36

Sandra Rossi S1: 是的,你是对的。 我必须将行号放在ABAP框架中,而不是dynpro框架中。 谢谢。

S2:我想知道是否可以找到KSCHL ='ZD06'的哪些行(行)成功命中。 在执行ctrl + f时,它仅指向1行,而在我执行另一个ctrl + f之后,它并没有转到162行。那么使用您提到的脚本完成了吗? 然后,我需要研究什么是调试器脚本。 我的主要目的是要知道在条件类型ZD06中可以成功击中几行。

路亽曱_Ryan
4楼-- · 2020-09-10 23:44

在ABAP调试的20年中,我唯一使用断点的时间是 进行权限检查。 我从来不需要。

对于2,可能为sy-tabix = 162设置观察点

空代码
5楼-- · 2020-09-10 23:39

因此,如果需要调试生产服务器中的标准程序,我 别无选择,只能逐行走? 您知道我可以使用" breakpoint at"命令及其输入跳转到某些命令/FM,表格等的任何方法吗? 我只找到有关邮件检查和权限检查的博客。

https://archive.sap.com/documents/docs/DOC-53035

https://blogs .sap.com/2014/03/19/how-to-analyze-authorization-issues-in-debug/

hengyuye
6楼-- · 2020-09-10 23:31
Manish Malakar :S2:好的,因此您只想在变量中使用Ctrl + F,它仅在第一次出现时起作用,第二次搜索没有作用 找到第二次出现。 您应该检查SAP注释,然后在SAP支持部门打开故障单。
派大星 ヾ
7楼-- · 2020-09-10 23:26

请不要创建应答来回复某人。 保留ANSWER用于提出解决方案。

一周热门 更多>