* Powerbuilder 10.5

 

 

 

디버거를 엽니다. (ctrl + D)

 

 

6. Breakpoints View

 

디버거 화면 우측하단 아래서 Breakpoints View 를 클릭합니다.

 

 

 

현재 지정되어 있는 모든 브레이크포인트(이하 브포) 목록이 나열됩니다.

 

 

 

 

 

 

 

 

 

 

 

Breakpoints View 에서 마우스 우클릭 합니다.

 

 

 

 

 

 

 

Clear All Breakpoints 는 모든 브포를 해제합니다.

 

지정해둔 브포를 모두 해제하고 싶다면 Clear All Breakpoints~

 

Clear All Breakpoints 를 이용해서 모든 브포를 해제합니다.

 

 

 

 

 

 

w_list.open 이벤트에서

 

ddlb_job.AddItem(dw_job_list.getItemString(i, 'job'))

부분에 브포를 설정합니다.

이 부분은 For 문에 의해서 반복적으로 실행됩니다.

 

디버거의 Breakpoints View 를 보면

w_list.open.16

이라고 표시되어 있습니다.

(여러분 소스에서는 16번째 라인이 아닐 수도 있습니다.)

 

Breakpoints View 에서 마우스 우클릭하면 열리는 팝업창에서

Breakpoints... 를 클릭하거나

Breakpoints View 에서

w_list.open.16

부분을 더블클릭합니다.

 

그럼 Edit Breakpoints 가 열립니다.

Edit Breakpoints 는 Occurrence, Condition, Variable 설정 기능을 제공합니다.

 

 

먼저 Occurrence와 Condition 에 대해 알아보겠습니다.

 

 

 

 

 

 

 

w_list.open.16 을 클릭합니다.

 

 

 

 

 

 

 

 

 

 

Occurrence 에 3 을 입력합니다.

 

 

 

 

 

 

 

 

 

 

Apply 클릭~

 

 

 

 

 

이렇게 표시됩니다.

 

 

 

 

 

 

 

w_list.open.16  의 문장이 3번째로 실행(occurrence)될 때, 디버거 커서를 위치시킨다는 뜻입니다.

 

디버거를 실행합니다.

 

w_list.open.16 부분에서 커서가 멈춥니다.

 

Variables View 의 Local 을 봅니다.

 

 

 

i 값이 3 이네요.

 

 

 

 

 

w_list.open.16 부분 즉,

ddlb_job.AddItem(dw_job_list.getItemString(i, 'job'))

이 부분이 3번째로 실행될 때 커서가 멈춘겁니다.

 

 

Edit Breakpoints 에서 Occurrence 바로 밑에 있는 Condition 에 대해서 알아보겠습니다.

 

디버거 실행을 중지하고 Edit Breakpoints 다시 엽니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Occurrence 는 빈칸으로 둡니다.

 

Condition 에 i > 3 이라고 입력하구요.

 

Apply 버튼을 클릭합니다.

 

 

 

 

 

 

 

Condition 은 말 그대로 조건입니다. i > 3 인 조건에서 디버거 커서를 멈춘다는 뜻이죠.

 

디버거를 실행하고 Variables View 에서 Local 을 봅니다.

 

그럼 i 값이 4 로 되어 있습니다.

 

 

이번에는 Occurrence 와 Condition 을 동시에 설정해 봅니다.

그럼 Condition 을 만족하면서부터 Occurrence 카운터를 셉니다.

 

Occurrence 에 2

Condition 에 i > 3

이라고 입력하고 Apply 버튼을 클릭~

 

그럼 Edit Breakpoints 에

 

w_list.open.16 occurrence 2 when i > 3

이라고 표시됩니다.

 

i 가 3 보다 클 때부터, w_list.open.16 문장이 2번째 실행되면 디버거 커서를 멈추라는 뜻입니다.

 

디버거를 실행하고 i 값을 보세요.

i 값은 5 가 됩니다.

i 가 4 일 때 한번 실행되고 5 일 때 두 번째로 실행되고 바로 그 때, 커서가 멈추는 것입니다.

 

 

다음으로 Variable 에 대해 설명하겠습니다.

 

Occurrence, Condition 의 조건을 모두 제거하고

디버거를 실행합니다. (ctrl + D -> ctrl + T)

Edit Breakpoints 에서 Variable 탭을 선택합니다.

 

 

 

 

 

 

 

 

 

 

 

New 버튼을 클릭하면 Variable 이 활성화됩니다.

Variable 에 i 라고 입력하고

Apply 버튼 클릭~

 

그럼 상단에

when i changes 라고 표시됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Apply 버튼을 클릭했을 때 왼쪽 그림과 같이 나타났다면 디버거를 실행하지 않았기 때문입니다.

실행하세요 (ctrl + R)

실행한 상태에서만 Variable 기능을 사용할 수 있습니다.

 

 

 

 

 

 

 

 

 

OK 버튼을 클릭합니다.

그럼 Breakpoints View 에 다음과 같이 표시됩니다.

 

 

 

i 값이 변할 때, 디버거 커서를 위치시킨다는 뜻입니다.

 

Continue 버튼을 한번씩 클릭하면서 Variables View -> Local 탭에서 i 값을 관찰해보세요.

그럼 i 값이 변경될 때마다 디버거 커서가 위치하는 것을 볼 수 있습니다.

 

 

 

7. Watch View

 

디버거 화면 우측 하단에서 Watch 탭을 선택합니다.

 

현재 w_list.open 이벤트의

 

ddlb_job.AddItem(dw_job_list.getItemString(i, 'job'))

부분에 브포가 설정되어 있습니다.

 

디버거를 실행하고 Variables View 에서 Global 탭을 선택합니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

transaction sqlca 에서 마우스 우클릭하면 열리는 팝업창에서 Add Watch 를 클릭합니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

그리고 Watch View 를 봅니다.

 

 

 

sqlca 변수가 추가되어 있네요.

 

 

 

 

 

이제 디버깅하면서 sqlca 값을 Watch View 에서 확인할 수 있게 되었습니다.

 

이와같이 자주 관찰하는 변수를 Watch View 에 모아 놓을 수 있습니다.

전역변수 이외의 변수들도 동일한 방법으로 가능합니다.

 

 

Watch View 의 또 다른 기능이 있습니다.

 

Watch View 에서 마우스 우클릭하면 열리는 팝업창에서

Insert 를 클릭합니다.

 

 

 

 

아래 화면이 열리구요.

 

 

 

Expression에

i + li_cnt

라고 입력하고 OK 버튼 클릭하고 Watch View 를 봅니다.

 

 

 

 

i + li_cnt = 6

이라고 표시되었네요.

 

Step In 을 한번씩 클릭하면서 위의 값을 관찰해 보세요.

 

이와 같이 Watch View 에서 표현식을 만들어 결과값을 관찰할 수도 있습니다.

 

 

수고하셨습니다.

 

 

 

Posted by 신선봉(닉네임)

댓글을 달아 주세요



티스토리 툴바