我的开发系统使用不同的客户端进行开发和测试,我认为这是一个常见的实践。不幸的是,当涉及到调试时,这带来了一个相当恼人的方便问题。虽然放置在开发系统上的断点会在插入或删除行时坚持它们的代码并移动,但对于放置在另一个客户端相同代码上的断点,情况显然并非如此。
由于系统不知道两个版本之间如何更改行,所以放置在测试客户端的断点将保留在程序中的特定行中。因此,对代码的任何更改都会破坏断点。要解决这个问题,我必须打开另一个程序或屏幕,然后返回到程序以刷新代码(刷新按钮SAP在哪里?),查找断点已移动到的位置并逐个删除它们(批处理删除断点按钮SAP在哪里?)然后在通常相同的位置设置新的断点。
这个问题在我的工作中变得如此频繁,以至于我有时花更多的时间移动断点,而不是花在实际开发上。在某些情况下,我放弃了,开始在用户断点中进行编码,因为这些断点至少将保持不变。但是,它们也有其自身的缺点,因为它们不能在调试器中删除,因此当您被迫在一千条记录循环中的每个断点停止时,它们就变得毫无用处。
我现在的实际问题是,在这个场景中,在调试时是否有更好的方法或最佳实践。我对ABAP编程还比较陌生,所以我希望更有经验的开发人员能够使用其他方法或技巧来加速这一过程。有什么更好的方法来调试和破坏次要客户端的代码吗?
发布于 2014-01-09 09:58:08
您可以尝试在transaction SAAB中创建检查点组,并将断点编码到检查点组。
语法
BREAK-POINT ID zyour_new_checkpoint_group. 这有一个优点,你可以激活它在一个固定的时间,或一组用户等。然而,我不确定如果你被困在一个1000行循环,你将能够只是停用它&跳过断点。
在程序运行之前,请先检查一下是否可以在运行过程中禁用检查点组,然后再愤怒地使用它。
发布于 2014-01-10 16:24:00
开发客户端和测试客户端的实践对于客户端相关对象来说是有意义的,例如定制。它确保了一个相当稳定的开发测试环境。但是对于程序和其他开发对象来说,这是没有意义的,因为它们是独立于客户端的。但是,所有依赖于客户端的开发对象(例如标准文本和SapScripts)都来自开发客户端,这一点仍然很重要,所以最好在那里创建所有对象。但是,一旦您已经这样做,并开始测试和调试,就没有任何技术理由不只是改变您的程序在测试客户端。
要让负责开发过程的人员相信这个实践,可能需要付出一些努力,因为在错误的客户端中创建对象总是有机会的,这可能会导致您想要释放对象时的混乱。但有了你在问题中描述的情景,你应该能够为你的案子辩护。
https://stackoverflow.com/questions/21016011
复制相似问题