1. 브레이크 포인트 설정
프로그램을 시뮬레이터로 디벅할 때의 가장 큰 이점은 프로그램중의 임의 장소에서 일단 실행을 중지하고, 또, 재개할 수
있다는 점이다.
이 일단 정지시키는 장소를 "Break Point"라고 한다.
브레이크 포인트를 설정하는 데에는 "Break Point Setting"의 창을 이용한다.
이 창을 표시시키기 위해서는 Debug→Break Setting으로 클릭하면 아랫 그림과 같은 창이 표시되어 설정 화면으로 된다.
여기서 브레이크 포인트의 설정 방법은 "Start" 부분에 브레이크시키려고 하는 장소의 소스 리스트상의 "레이블"을 입력하고
ENTER 키를 누르면 설정된다.
아랫 그림과 같이, MPLAB가 버전업되어, 이 "레이블"이 "Start"의 화살표를 클릭하면 자동적으로 일람표로 표시되도록 되어
있다.
이 일람표에서 원하는 것을 선택하고 Enter 키를 누르든가, 녹색의 체크 마크를 클릭하면 자동 설정된다.
설정되면 프로그램 리스트측에 반영되고, 그 레이블행의 색이 적색으로 바뀐다.
아랫 그림에서는 MAINLP라든가 SENSE로 표시되어 있는 것이 레이블이다.
이때 주의해야 할 사항은 대문자와 소문자의 구별이 있다는 것이다.
다음에, 반대로 브레이크하려는 경우는 좌측 아래 테두리내의 각 행의 선두에 있는 체크박스를 클릭하면 일시 브레이크
해제로 되며, 행을 선택하고 "Remove"를 클릭하면 그 브레이크는 해제된다.
"Start", "End"로 범위 지정에 의해 브레이크도 걸 수 있지만, 오히려 디벅하기가 곤란해지므로 사용하지 않는 쪽이 좋을
것이다.
그리고, 브레이크 포인트로 일시 정지시켜 무엇을 하는 것일까? 이에 대해서는 다음 항에서 설명한다.
2. 트레이스 설정
브레이크 포인트와 달리, 일정한 범위를 실행한 도중 결과를 보존해 두고, 나중에 변수나 실행의 흐름을 확인하는 방법이 트레이스이다.
여하튼 정상으로 실행되지 않거나 알 수 없을 경우 등, 이 트레이스를 사용하여 1스텝마다 명령의 실행 내용을 확인할 때에
사용한다.
이 트레이스의 설정에는 "Trace Point Setting"의 창을 이용한다.
이 창을 표시하기 위해서는 Debug→Trace Settings로 클릭한다.
창은 아랫 그림과 같은 내용이다. 트레이스 설정에는 우선 트레이스를 거는 범위를 지정한다.
트레이스는 일반적으로 어떤 범위에서 실행시키기 때문에 "Start"와 "End"가 필요하다. 이 입력에도 브레이크 포인트와 같이
프로그램중의 "레이블"로 지정한다.
아랫 그림의 예에서는 입력창의 아래 화살표를 클릭하여 레이블의 일람표를 drop down list로 표시시킨 것이다.
다음에, 트레이스 지정의 해제는 좌측의 체크박스의 체크를 떼면 일시적으로 해제, 행을 선택하고 "Remove"를 클릭하면
말소된다.
그런데, 트레이스를 걸어서 무슨 일을 하는 것일까? 이에 대해서는 다음 항에서 설명한다.
3. 스톱워치
이 "Stopwatch"는 프로그램의 실행시간을 계측하는 창으로, 실제 실행시간을 명령의 사이클을 기초로 표시한다.
이 스톱워치의 창을 표시하기 위해서는 Window→Stopwatch로 클릭하면 아랫 그림과 같은 창이 표시된다.
사용법은 우선, 실제 하드웨어의 클록으로 사용하고 있는 크리스털 발진자의 주파수를 설정한다.
이것에는 "Target Frequency"에 수치와 MHz, KHz, Hz의 단위를 지정한다.
아랫 그림의 예에서는 10MHz에 지정하고 있다.
측정방법은 브레이크 포인트간을 측정한다. 우선 계측을 스타트시키는 위치에서 브레이크 포인트를 걸어 프로그램을 일단
정지시킨다. 그래서, Stopwatch의 "Zero"를 클릭하여 클리어한 후, 프로그램을 재개시킨다(재개 방법은
Debug→Run→Run이다).
그렇게 하면 카운트가 개시되고, 다음의 브레이크 포인트로 프로그램이 정지하면 카운트도 정지하기 때문에 거기서 "Time"을
보면 실제의 시간이 표시되어 있다.
이 Stop Watch에는 시간 뿐만 아니라, 명령의 총 Cycle수도 표시되고 있기 때문에 타이머 등을 프로그램으로 만들 때의
디벅에는 안성맞춤이다.
다음은 실제로 디벅하는 방법에 대해 설명한다.