* Powerbuilder 10.5

 

 

 

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

디버거를 실행하면 파빌 상단바(페인터바)에 아래 이미지 버튼들이 나타납니다.

 

 

 

왼쪽부터 순서대로

Continue

Step In

Step Over

Sept Out

Run To Cursor

Set Next Statement

입니다.

 

 

1. Continue

 

w_list.open 이벤트에서

dw_loc_list.SetTransObject(sqlca)

wf_retrieve('%', 1)

이렇게 두 곳에 브포를 설정합니다.

 

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

그럼 커서가

dw_loc_list.SetTransObject(sqlca)

에 정지합니다. 이 때 Continue 를 한 번 클릭하세요.

그럼 커서가

wf_retrieve('%', 1)

로 이동한 후에 정지합니다.

이렇게 Continue 는 브포와 브포 사이를 이동합니다.

 

여기서 또 한번 Cotinue 를 클릭하면, 이 후로 설정된 브포가 없기때문에 실행된 프로그램 화면을 앞으로 띄워줍니다.

 

 

 

2. Step In, Step Over, Step Out

 

Step In 은 현재 위치한 메서드 안에서 스크립트 하나씩 이동합니다.

그리고 함수나 이벤트를 만나면 그곳으로 이동합니다.

 

현재

wf_retrieve('%', 1)

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

디버거를 실행해서

wf_retrieve('%', 1)

에 커서를 위치시킵니다.

 

그리고

만약 Step In 을 클릭하면 wf_retrieve 함수로 이동합니다.

만약 Step Over 를 클릭하면 wf_retrieve 함수로 이동하지 않고 바로 밑의 스크립트로 이동합니다.

 

이렇게 Step Over 는 메서드(함수, 이벤트)를 만나면 건너뜁니다.

 

여기서 Step In 이나 Step Over 를 계속해서 클릭하면

w_list.open 이벤트를 빠져나온 뒤에

test.open 이벤트 -> w_list.timer 이벤트 -> w_list.timer 이벤트 -> w_list.timer 이벤트 -> ...

 

timer 이벤트는 1초에 한 번씩 실행하므로 계속해서 timer 이벤트를 보여주는 것입니다.

 

디버거를 닫고 다시 실행합니다. (ctrl + W -> ctrl + D -> Ctrl + T)

 

dw_loc_list.SetTransObject(sqlca)

에 커서가 정지된 상태에서 Step Out 를 클릭합니다.

그럼 w_list.open 이벤트를 바로 벗어나고 test.open 이벤트로 이동합니다.

 

Step Out 은 메서드(함수나 이벤트) 를 바로 벗어나 다음 메서드로 이동시킵니다.

 

 

 

3. Run To Cursor

 

디버거를 닫고 다시 실행합니다.

dw_loc_list.SetTransObject(sqlca)

에 커서가 정지된 상태에서 아래쪽 스크립트 아무 데나 클릭해서 깜빡이는 커서를 위치시킵니다.

그리고 Run To Cursor 를 클릭합니다. 그럼 노란색 커서가 방금 클릭한 곳에 멈춥니다.

 

Run To Cursor 는 현재 커서가 위치한 곳으로 이동시킵니다.

단,

int li_cnt, i

와 같은 변수 선언부로는 이동을 못합니다.

 

 

4. Set Next Statement

 

는 Step In 과 유사하지만 For 문에서의 동작이 다릅니다.

 

int i

 

for i = 1 to 4

next

 

위와 같은 For 문에서 Set Next Statement 를 사용하면 루프를 반복해도 i 값이 변하지 않습니다.

그래서 루프를 빠져나오지 못합니다. 파빌 버그인지 잘 모르겠지만 고민할 필요없이 Step In 을 사용하세요~ 

 

 

 

수고하셨습니다.

 

 

 

Posted by 신선봉(닉네임)

댓글을 달아 주세요

  1. ASJ 2014.10.23 16:19 신고  댓글주소  수정/삭제  댓글쓰기

    정말 명언 강의네요 이거~~

  2. 초보맨 2015.02.23 12:59 신고  댓글주소  수정/삭제  댓글쓰기

    좋은 강의 감사합니다.
    정말 저에게는 유일한 희망이네요ㅠ