ABAP 디버거 BREAK POINTS 메뉴 사용법 및 예제

오늘은 SAP ABAP 디버거 BREAK POINTS 메뉴 사용법 및 예제 등에 대해서 정리해 보았습니다.

앞선 문서에서, 브레이크 포인트의 방법 및 종류는 아래의 문서를 참고하실 수 있으며,

abap break point 디버깅 방법 및 종류(Static, Dynamic)

BREAK POINTS 메뉴 활용에 대해 좀 더 자세한 기능 및 옵션에 대해서, 아래 포스팅을 통해 설명해보고자 합니다.

참고로 해당 기능은 BREAK POINT 지정 후 호출되는 디버깅 화면에서의 메뉴 기능 및 사용법 설명입니다.

BREAK POINTS 메뉴

디버깅이 호출된 후 상단 메뉴 – Break point에 대한 설명입니다. 이 메뉴는, Break point 생성, 삭제, 저장 등의 기능을 담고 있습니다.

이 메뉴의 기능들은 ‘이미 Debug가 활성화된 상태’에서만 가능합니다.

ABAP 디버거의 BREAKPOINTS 메뉴

모두 Dynamic Break Point입니다.(즉, BREAK-POINT 키워드가 사용되지 않은)

 

Break points 활성화/비활성화 메뉴

Delete all bps.

말 그대로 모든 break point를 삭제하는 기능입니다. 소스코드 내에 break point 설정 사항 모두 삭제 되기 때문에, 디버깅으로 재수행하시면 디버깅 없이 프로그램이 실행됩니다.

Deactivate all bps

이번 디버깅 세션에서만 임시적으로 break point를 무시합니다. 재수행시에는 기존 break point가 동작합니다. Delete all bps와의 차이점은 임시로 이번 수행 건만 무시됩니다.

Activate all bps

Deactivate all bps를 전부 풀어주는 기능입니다.

 

Breakpoint at 메뉴 설명

Statement, Subrutine, Function Module, Message 등 해당 조건에 맞는 statement가 발생시 자동으로 debug가 걸립니다.

abap breakpoint at 메뉴

ABAP Cmnds, Statement

ABAP Cmnds는 ABAP 예약어를 통한 조건을 이야기 합니다. 쉽게 생각해서 New Editor로 보았을때, 파란색으로 표현되는 ABAP 고유 키워드를 말합니다.

ABAP Cmnds break point 디버깅 기능

FORM, SELECT, MESSAGE, SELECTION, LOOP, DO,…. 등등.

ABAP Cmnds 탭에서 ‘SELECT’라고 입력을 하면, SELECT ABAP KEYWORD의 모든 구문에 BREAK POINT가 녹색(일회성) 디버그가 걸립니다.

물론, Ctrl + S(Save Debugger as bps) 하면 해당 디버그 라인은 저장되어 이후 재수행시 Break Point로써 동작합니다.

위의 이미지에서 보는 바와 같이, Break/Watchpoints 탭에 보면 다음과 같이 ABAP Command 타입으로 정의됩니다. 이후, ‘SELECT’ 키워드에 대한 Break point는 이 탭에서 지울 수(delete) 있습니다.

Subroutine

Se80 Work bench에서 트리에서 확인할 수 있는 Subroutine Form문을 입력해 주시면 됩니다.

ABAP SUBROUTINE 브레이크포인트

하단의 Free Condition은 특정 조건이 만족될 때에만, Debugging을 수행합니다. 위의 케이스의 경우는, GV_DATA의 값이 ‘X’가 아닐 때에만 BREAK 걸리도록 조건을 걸었으나, GV_DATA가 ‘X’이므로 Break 없이 진행됩니다.

Function Module

Subroutine과 비슷하나, 주의하여야 할 사항은, Free Condition 의 조건은 Function 내부에서 알 수 있는 변수이어야 합니다.

FUNCTION MODULE BREAK POINTS

즉, Function Group의 Top 등에 선언된 전역변수이거나, Input Parameter를 조건으로 넣어주어야 합니다.

예를 들어, Call Function을 하는 리포트 프로그램의 전역 변수인 GV_DATA의 경우, 해당 펑션은 호출되는 입장에서 모른다는 이야기 입니다. 따라서 다음 구문은 BREAK가 걸리지 않습니다.

FUNCTION MODULE BREAK POINTS 디버깅 방법

Method

Call function과 유사합니다. Free Condition 역시, 클래스 Attribute나 Parameter를 조건값으로 해야 합니다.

ABAP METHOD 디버깅 방법

Message

자주 유용하게 사용되는 Dynamic Break Point 입니다. 메시지 ID와 Number, 메시지 타입을 입력한 후 실행하면 됩니다.

abap breakpoint MESSAGE 디버깅

해당 메시지를 만나면 Break가 걸립니다. 특히, Standard 디버깅시에 유용하게 사용할 수 있습니다.

abap breakpoint 스탠다드 MESSAGE 디버깅

이상으로, ABAP 브레이크 포인트 디버깅시 사용되는 Breakpoints 메뉴에 대해서 알아보았습니다.

좀 더 상세한 사항은 SAP 공식문서 ABAP Break point 항목에서 확인해 보시면 될 거 같습니다.

 

함께 보면 좋은 글

SAP ABAP FIND 사용법 String 패턴 검색 예제 모음

SAP ABAP REPLACE 문자열 예제 정리

ABAP TRANSLATE 문자열 사용법