2014-01-09 6 views
4

В моей системе разработки используются разные клиенты для разработки и тестирования, которые, как я полагаю, являются обычной практикой. К сожалению, это приводит к довольно неприятной проблеме, когда дело доходит до отладки. В то время как точки останова, установленные в системе разработки, будут придерживаться своего кода и перемещаться по мере того, как строки вставлены или удалены, это, скорее всего, не относится к точкам останова, размещенным по одному и тому же коду в другом клиенте.Улучшенные точки останова для разработки нескольких клиентов

Поскольку система не знает точно, как были изменены строки между двумя версиями, контрольные точки, размещенные в тестирующем клиенте, останутся на определенной строке в программе. Поэтому любое изменение кода приведет к поломке точек останова. Чтобы решить эту проблему, я должен: открыть другую программу или экран, а затем вернуться в программу, чтобы обновить код (где кнопка обновления SAP?), Найти, где точки останова были перемещены и удалить их один за другим (где пакет удалить кнопку контрольных точек SAP?), а затем установить новые точки останова, как правило, в том же месте.

Эта проблема становится настолько частым в моей работе, что я иногда трачу больше времени на перенос точек останова, чем трачу на фактическое развитие. В некоторых случаях я просто сдался и начал кодирование в пользовательских контрольных точках, поскольку они, по крайней мере, останутся на месте. Однако они имеют свои недостатки, поскольку они не могут быть удалены в отладчике, что делает их бесполезными, когда вы вынуждены останавливаться на каждой точке останова в цикле с тысячей записей.

Мой фактический вопрос заключается в том, есть ли лучший подход или лучшая практика, когда дело доходит до отладки в этом сценарии. Я относительно новичок в программировании ABAP, поэтому я надеюсь, что у более опытных разработчиков есть альтернативы или трюки, которые они используют для ускорения этого процесса. Есть ли еще лучший способ для отладки и разрыва кода во вторичном клиенте?

ответ

3

Вы можете попытаться создать группу контрольных точек в транзакции SAAB и закодировать точки останова для группы контрольных точек.

Синтаксис

BREAK-POINT ID zyour_new_checkpoint_group. 

Это имеет то преимущество, что вы можете активировать его в течение заданного времени, или множество пользователей и т.д. Тем не менее, я не уверен, что если вы застряли в 1000 -line, что вы сможете просто деактивировать его. & пропустите точку прерывания.

Возможно, стоит сначала проверить, можно ли деактивировать группу контрольных точек «на лету» во время работы программы, прежде чем использовать это в гневе.

+0

Кажется, что это было бы очень полезно для улучшения отладки различных разделов больших программ. Как вы говорите, у него есть некоторые ограничения, но это определенно поможет мне.Хотя я надеюсь, что я никогда не уменьшусь, чтобы использовать его в гневе. ;] – Lilienthal

3

Практика использования клиента разработки и тестового клиента имеет смысл для объектов, зависящих от клиента, например. пользовательская настройка. Он обеспечивает достаточно стабильную среду для тестирования разработки. Но это не имеет смысла для программ и других объектов разработки, поскольку они независимы от клиента. Тем не менее, по-прежнему важно, чтобы все ваши объекты, зависящие от клиента, (например, стандартные тексты и SapScripts) исходили от клиента разработки, поэтому лучше всего создавать все свои объекты. Но как только вы это сделали и собираетесь тестировать и отлаживать, нет никаких технических причин не просто изменять вашу программу в тестовом клиенте.

Может потребоваться некоторое усилие, чтобы убедить людей, ответственных за процедуры разработки этой практики, поскольку всегда существует вероятность того, что объекты создаются в неправильном клиенте, что может привести к беспорядку, когда вы захотите их освободить. Но со сценарием, который вы описываете в своем вопросе, вы должны мотивировать свое дело.

+0

Я вижу вашу точку зрения, и я определенно склонен согласиться, но, к сожалению, изменение сложившейся практики не будет вариантом, несмотря на его достоинства. – Lilienthal

Смежные вопросы