본문 바로가기
LabVIEW/랩뷰 기초

랩뷰 기본 용어 8. 디버깅 1-코드119

by 박사과정 모닝 2022. 11. 15.
반응형

안녕하세요. 박사과정 모닝입니다!

랩뷰 뿐만 아니라 어떠한 프로그래밍 언어를 사용하더라도 항상 떼려야 뗄 수 없는 단어가 하나 있죠. 바로 '디버깅'입니다. 모든 코드는 디버깅을 해야 합니다. 아마 디버깅 없이 사용되는 코드는 세상에 없을 것입니다. 그렇다면 디버깅이 무엇일까요? 디버깅은 간단히 말해 코드의 구조적/논리적 오류를 점검하고, 코드가 원하는 목적을 달성하게끔 작동하도록 수정/개선하는 작업이라고 할 수 있습니다. 랩뷰에서도 디버깅을 위한 여러 가지 도구들과 설정들을 제공합니다. 만약 제 블로그를 정주행하지는 분이 계시다면, 이 파트를 꼼꼼하게 읽어주세요!

 

1. VI에 에러가 있는지 확인하는 방법

랩뷰에서 작성한 코드에 문법적인 에러가 있는지 확인하는 방법은 간단합니다. 바로 VI의 실행 버튼입니다. 만약 반드시 필요한 요소가 빠졌다거나, 잘못된 데이터 타입이 연결되었다거나 하는 문법적인 문제를 사용자에게 알려줍니다. 깨진 실행 버튼을 클릭하면 에러 리스트 창이 나타납니다. 리스트에서 에러를 클릭하면 어떠한 에러인지에 대한 설명을 읽을 수 있고, 에러를 더블 클릭하면 곧바로 에러가 발생한 위치로 이동 및 하이라이트 되어 빠르게 에러를 수정할 수 있습니다.

 

랩뷰 에러

위 그림을 보시면, 숫자와 숫자 데이터를 연결해야 하는 더하기 함수에 문자열을 입력했습니다. 왼쪽 빨간 박스와 같이 실행 버튼이 깨진 것을 볼 수 있습니다. 이를 클릭하면 오른쪽과 같이 에러 창이 팝업됩니다. 랩뷰에서는 문법적 에러가 있는 상태에서는 코드를 실행할 수 없습니다. 문법적 에러를 모두 해결해야만 코드가 실행됩니다.

 

2. 실행 하이라이트

랩뷰 실행 하이라이트, 랩뷰 전구

블록 다이어그램의 도구 모음에서 전구 모양의 실행 하이라이트를 켜고 코드를 실행하면 데이터 흐름과 실행 순서를 직접 확인할 수 있습니다. 저는 1과 2를 더한 3이라는 값이 x+y로 전달되기 직전에 캡쳐를 했습니다. 보시면 x,y의 와이어는 데이터 타입을 나타내는 색인데, x+y에 연결된 와이어는 색이 다른 것이 보이시죠? 이와 같이 실행 하이라이트를 켜면, 노드나 와이어의 색깔(투명도)를 통해 지금 어디까지 실행되었는지도 확인이 가능하고, 와이어를 따라 흐르고 있는 데이터의 값 또한 확인할 수 있습니다. 참고로 천천히 실행되면서 데이터의 흐름이나 실행 순서 등을 확인할 수 있는 기능이기 때문에, 실제 코드를 사용할 때에는 이 기능을 끄고 실행합니다.\

 

3. 프로브

프로브는 블록 다이어그램의 원하는 위치에서 값을 실시간으로 모니터링할 수 있는 기능입니다.원하는 위치에서 마우스 우클릭을 통해 메뉴 모음을 열고, '프로브'를 클릭하면 해당 위치에 프로브가 생성됩니다. 주의할 점은, 프로브 창을 닫으면 이제껏 생성해 둔 모든 프로브가 삭제됩니다. 프로브 창에서 해당 프로브를 더블 클릭하면 프로브의 위치로 이동할 수 있습니다.

랩뷰 프로브

 

4. 브레이크포인트

브레이크 포인트를 블록다이어그램의 원하는 위치에 설정하면, 해당 위치에서 코드 실행이 일시 정지됩니다. 여러 곳에서 생성 가능하며, 코드 실행 중 가장 먼저 만나는 위치부터 순차적으로 정지합니다. 정지된 포인트는 점선으로 표시되고, 다음 실행할 노드 부분이 점선으로 깜빡거립니다. 일시 정지를 해제하고 싶을 때는 도구 모음에서 일시 정지 버튼을 눌러주면 실행을 재개합니다. 그러고는 다음 브레이크 포인트 지점까지 실행되다가, 브레이크 포인트 지점에서 다시 일시 정지합니다. 브레이크 포인트는 사용자가 직접 삭제할 때 까지 계속 코드에 남아 있습니다. 브레이크 포인트 지점에 마우스를 우클릭하고, [바로가기 메뉴>브레이크포인트>브레이크포인트 지우기]를 선택하여 삭제합니다. 

랩뷰 브레이크포인트

반응형