ABAP 프로그램에서 조건부 중단점(Break points)을 설정하는 방법 4가지


ABAP 프로그램 개발 과정에서 로직의 흐름을 확인하거나 실행 과정에서 처리되는 변수 값을 확인하기 위해 중단점(Break Point)를 설정해서 디버그에서 확인하는 작업을 많이 하게 됩니다.

개발이 끝나 운영중인 프로그램에 대해서도 데이터 확인을 위해 중단점 사용을 가끔 하게 됩니다.

중단점(Break Point)이 설정되면 프로그램이 실행되는 과정에 해당 중단점에 이르게 되면 그 위치에서 실행이 멈추고 Debugging 모드로 대기하게 됩니다.

Debugger 상태에서 Internal Table, Variables의 데이터 값을 확인하거나 한 스텝(Step), 한 스텝 실행하면서 프로그램 로직이 어떻게 흘러 가는지 확인할 수 있어 중단점 사용은 프로그램 개발 단계에서는 필수 입니다.

이번 글에서는 ABAP 프로그램에서 조건부 중단점(Break points)을 설정하는 방법 4가지에 대해 알아보겠습니다.

ABAP 편집기의 프로그램 소스에서 미리 중단점을 설정하는 방법

1. ABAP 편집기(SE38, SE80 모두 동일) 화면에서 중단점을 설정하고자 하는 위치의 라인 앞(아래 화먄의 빨간 사각형 부분)에 마우스를 클릭하면 해당 위치에 중단점이 설정됩니다..

2. 한번 클릭하면 중단점 설정, 설정한 라인을 한번 더 클릭하면 중단점 해제 됩니다.

3. 이제 프로그램을 실행하면 중단점으로 설정한 부분까지 실행되다가 해당 위치에 Debugger 모드로 멈추게 됩니다.

ABAP 프로그램에서 조건부 중단점(Break points)을 설정하는 방법 - ABAP 편집기에서 직접 위치 지정

ABAP 프로그램을 Debugger 모드로 실행하기

▼ ABAP 프로그램을 실행할 때 Debugger 모드로 실행하고자 한다면 명령 입력필드 /H 입력하고 엔터를 친 다음 실행하면 됩니다.

ABAP 프로그램에서 조건부 중단점(Break points)을 설정하는 방법 - 입력 필드에 /H

▼ /H 입력하고 엔터를 치면 하단 메세지 표시 부분에 “디버깅을 설정했습니다.“라는 메세지를 확인할 수 있습니다.

ABAP 프로그램에서 조건부 중단점(Break points)을 설정하는 방법 - 디버깅을 설정했습니다.

ABAP Debugger 화면에서 Breakpoints를 사용하여 조건부 중단점 설정하기

▶ 단순히 중단점을 설정하는 것이 아니라 특정 조건에 맞는 경우에만 원하는 위치에 중단점이 걸리도록 하면 무척 편리할 것입니다. 

1. 디버깅 화면에서 Break./Watchpoints을 선택 합니다.

2. 다시 내부 탭 중에 Breakpoints을 선택 합니다.

3. 새로운 Breakpoints 중단점을 만들기 위해 생성 아이콘을 클릭 합니다.

ABAP Debugger 화면에서 Breakpoints를 사용하여 조건부 중단점 설정하기 1

4. Create Breakpoints 화면에서 Srce Code을 선택 합니다.

5. Row는 중단점이 설정될 위치 입니다. 예제에서는 프로그램의 39 행에 중단점이 걸리도록 설정해 보겠습니다.

6. 이제 중단점이 걸리는 조건 식을 넣어주면 됩니다. 예제에서는 F_RUNTIME > 100 이라고 조건을 주었습니다.

ABAP Debugger 화면에서 Breakpoints를 사용하여 조건부 중단점 설정하기 2

7. Breakpoints를 만든 상태에서 계속 실행(F8)을 진행하면 실행되다가 해당 조건식에 맞는 경우 39행에 중단점이 걸리면서 실행이 멈추는 것을 확인할 수 있습니다.

ABAP Debugger 화면에서 Breakpoints를 사용하여 조건부 중단점 설정하기 3

ABAP Debugger 화면에서 Watchpoints를 사용하여 조건부 중단점 설정하기

▶ Breakpoints는 조건에 맞는 경우 지정된 행으로 중단점이 한번 걸리는 것으로 끝나지만,
Watchpoints는 조건이 맞는 부분이 나오면 반복적으로 중단점이 걸린다는 차이점이 있습니다.

1. 디버깅 화면에서 Break./Watchpoints을 선택 합니다.

2. 다시 내부 탭 중에 Watchpoints 탭을 선택 합니다.

3. 새로운 Watchpoints 중단점을 만들기 위해 생성 아이콘을 클릭해 줍니다.

ABAP Debugger 화면에서 Watchpoints를 사용하여 조건부 중단점 설정하기 1

4. Variable조건 식에 사용할 변수를 입력 합니다.

5. Condition조건 식을 입력 합니다.

ABAP Debugger 화면에서 Watchpoints를 사용하여 조건부 중단점 설정하기 2

이렇게 설정해 놓으면 F_RUNTIME이 사용되는 여러 곳에서 값이 100 보다 큰 경우 해당 위치에 실행이 멈추게 된다.
정확히는 F_RUNTIME 변수가 사용된 그 다음 행에서 멈추게 됩니다.

※ 필요에 따라 Breakpoints, Watchpoints를 여러개 설정해서 활용도를 높일수도 있다.





이 글이 도움이 되었기를 바랍니다. ^-^


답글 남기기