본문 바로가기
programming language/MATLAB

MATLAB Conditional Breakpoints

by __observer__ 2012. 8. 6.
반응형

오늘은 MATLAB 의 디버그 기능 중 Conditional Breakpoints 에 대해 소개하려 합니다.

 

짧은 코드를 작성 할 때는 디버그 할 일이 거의 없지만 코드가 조금만 복잡해져도 디버그는 꼭 필요하더군요.

 

MATLAB 에서 디버그를 하기 위해서는 C/C++ 에서와 마찬가지로 알아보고자 하는 줄에 break point를 설정하고 실행 시키는데요.

 

다음 그림처럼 원하는 줄의 부분을 클릭하면 빨간색 동그라미가 생깁니다.



 

그리고 이 상태에서 F5 를 누르면 break point 를 설정한 줄에서 멈추고 command 창은 아래 그림처럼 k>> 으로 프롬프트가 바뀌게 되죠.

 

각 변수의 값들을 알고 싶을 때는 변수 명을 command 창에 쳐도 되고~

 

Editor 에서 알고자 하는 변수를 블록으로 설정하고 F9 를 눌러도 됩니다.

 

또는 그냥 Editor 에서 알고자 하는 변수 위에 커서를 올려놓으면 아래 그림처럼 툴 팁의 형태로 값이 보여 집니다.

 

한 줄 한 줄 디버그 진행을 위해서는 위 그림의 네모 칸 친 부분의 아이콘들을 적절히 눌러서 진행 할 수 있고~

 

디버그 모드를 끝내고 싶을 때는 shift + F5 를 누르면 됩니다.

 

디버그 모드에 대한 개략적은 설명은 여기까지만 하고 오늘 소개할 Conditional Breakpoints 에 대해 말씀 드리겠습니다.

 

Conditional Breakpoints 는 말 그대로 Breakpoints 를 설정하는데 조건을 주는 겁니다.

 

위 그림에서 예로 든 Tempfunction() 함수에서 for 루프의 n 인덱스가 500부터 값이 이상한 것 같아서 그 이후 부분에 대해서만 debug 를 하고 싶은 경우가 있다고 해 보겠습니다.

 

이런 경우에 위 예처럼 빨간색으로 break 포인트를 설정하고 디버그를 하려면 …. n 값이 하나씩 올라가서 500 이 될 때까지 F10 또는 F5 등을 다다다다다다~~ 눌러야겠죠.

 

이런 경우에 Conditional Breakpoints 를 사용해서 디버그 하면 굉장히 편리 합니다.

 

위 예에서 빨간색 동그라미로 되어 있는 Breakpoints 를 오른쪽 클릭해서 나오는 팝업메뉴 중에 Set/Modify Conditional Breakpoint 를 클릭합니다.

 

그럼 다음과 같은 조그만 창이 하나 뜨는데요~ 여기 빈칸에 조건을 적어 주면 됩니다.

 

n >= 500 라는 조건을 주고 OK를 누르면 ~ 다음 그림처럼 Breakpoints 가 노란색으로 바뀌게 되죠~

 

그럼 이제 F5를 눌러서 디버그를 실행해 보면 ~

 

다음과 같이 n=500 일 때부터 디버그를 수행 할 수 있습니다.

 


반응형

댓글