多客户端开发的更好断点

时间:2014-01-09 09:18:57

标签: debugging sap abap

我的开发系统使用不同的客户端进行开发和测试,我认为这是一种常见的做法。不幸的是,这在调试方面引入了一个相当烦人的便利问题。虽然放置在开发系统上的断点会粘在他们的代码上,并在插入或删除行时移动,但对于放在另一个客户端中相同代码上的断点显然不是这种情况。

由于系统不知道两个版本之间究竟如何更改行,因此放置在测试客户端中的断点将保留在程序中的特定行。因此,对代码的任何更改都将破坏断点。要解决这个问题,我必须:打开另一个程序或屏幕然后返回程序刷新代码(其中是刷新按钮SAP?),找到断点移动到的位置并逐个删除它们(批处理的位置)删除断点按钮SAP?)然后在通常完全相同的位置设置新的断点。

这个问题在我的工作中变得如此频繁,以至于我有时会花更多时间来移动断点,而不是花在实际开发上。在某些情况下,我只是放弃并开始使用用户断点进行编码,因为这些断点至少会保留在原位。但是,这些都有它们自身的缺点,因为它们无法在调试器中删除,因此当你被迫在千记录循环中的每个断点处停止时它们就无用了。

我现在的问题是,在这种情况下调试是否有更好的方法或最佳实践。我对ABAP编程比较陌生,所以我希望更有经验的开发人员可以使用替代方法或技巧来加快这一过程。有没有更好的方法来调试和破坏辅助客户端中的代码?

2 个答案:

答案 0 :(得分:3)

您可以尝试在事务SAAB中创建一个检查点组,并将断点编码到检查点组。

<强>语法

BREAK-POINT ID zyour_new_checkpoint_group. 

这样做的好处是你可以将它激活一段时间,或者一组用户等。但是,我不确定如果你陷入一个1000行循环,你将能够只是停用它&amp;跳过断点。

首先检查您是否可以在程序运行时动态停用检查点组,然后再将其用于愤怒。

答案 1 :(得分:3)

拥有开发客户端和测试客户端的做法对客户端相关对象有意义,例如:定制。它确保了一个相当稳定的开发测试环境。但它对程序和其他开发对象没有任何意义,因为它们与客户端无关。但是,所有与客户端相关的开发对象(例如标准文本和SapScripts)都来自开发客户端仍然很重要,因此最好在那里创建所有对象。但是,一旦你完成了这项工作并继续进行测试和调试,就没有技术上的理由不只是在测试客户端中更改你的程序。

可能需要花费一些精力来说服负责这种做法的开发过程的人员,因为总是有可能在错误的客户端创建对象,当你想要释放它们时可能会导致混乱。但是根据你在问题中描述的情景,你应该能够为你的案子辩护。

相关问题