프로그래밍/랩뷰 기술자료

랩뷰의 디버깅 도구

에이티에스 2023. 6. 4. 10:34
728x90

LabVIEW에는 문제 코드 영역을 살펴보고 적절한 변경을 적용하기 위한 강력한 디버깅 도구가 포함되어 있습니다. 일반적으로 소프트웨어 버그에는 프로그램 실행을 중단시키는 버그와 나쁜 결과 또는 부정확한 동작을 발생시키는 두 가지 유형의 버그가 있습니다. 본 모듈은 두 가지 에러의 유형을 파악하고 문제를 해결하는 방법을 설명합니다.

LabVIEW가 사용자의 VI를 실행할 수 없는 경우, LabVIEW는 실행 화살표를 깨진 아이콘으로 바꾸고 에러 리스트 윈도우에 VI가 깨진 특정한 이유를 나열합니다. 두번째 타입의 버그는 찾기가 더 어려지만, LabVIEW에는 사용자의 코드가 실행되는 것을 살펴볼 수 있는 여러 가지 도구가 제공되므로 보다 쉽게 확인 프로세스를 수행할 수 있습니다.

 

 

깨진 VI 수정하기

VI가 실행되지 않는다면, 그 VI는 깨졌거나 실행할 수 없는 VI입니다. 생성하거나 편집하는 VI에 에러가 있으면 다음과 같이 실행 버튼이 깨져서 나타납니다.

일반적으로 깨진 실행 버튼은 필수 입력이 연결되지 않았거나 와이어가 깨졌음을 의미합니다. 깨진 실행 버튼을 누르면 에러 리스트 윈도우가 나타납니다. 에러 리스트 윈도우에는 각 에러가 나열되고 에러에 대한 설명이 나옵니다. 에러를 더블 클릭하면 바로 해당 에러로 갈 수 있습니다.

 

 

VI가 깨진 원인 찾기

 

경고가 있다고 VI가 실행되지 않는 것은 아닙니다. 경고는 VI에 잠재적으로 문제를 일으킬 수 있는 사항들을 알려주기 위한 것입니다. 반면, 에러가 있는 경우에는 VI가 깨지기 때문에 VI를 실행할 수 없게 됩니다. 반드시 모든 에러를 수정한 후에 VI를 실행해야 합니다.

깨진 실행 버튼을 클릭하거나 보기≫에러 리스트를 선택하여 VI가 깨진 이유를 찾습니다. 에러 리스트 윈도우에는 모든 에러가 나열됩니다. 에러가 있는 아이템 섹션에는 에러가 있는 파일들이 나열됩니다. 동일한 이름을 갖는 두 개 이상의 아이템이 있는 경우, 각 아이템에 대한 특정 어플리케이션 인스턴스가 이 섹션에 나타납니다. 에러와 경고 섹션은 에러가 있는 아이템 섹션에 선택한 VI에 대한 에러와 경고를 나열합니다. 상세 설명 섹션은 에러에 대한 설명을 제공하며, 일부 경우에는 에러를 수정하는 방법을 권장합니다. 도움말 버튼을 클릭하면 에러 수정의 단계별 설명서를 포함하여 에러를 상세히 설명하는 LabVIEW 도움말의 토픽이 디스플레이됩니다.

 

에러 보이기 버튼을 클릭하거나 에러 설명을 더블 클릭하면, 블록다이어그램 또는 프런트패널에서 해당 에러가 들어있는 영역이 하이라이트됩니다.

그림 1. 에러 리스트 대화 상자의 예

 

VI가 깨지는 일반적 원인

 

아래의 리스트는 편집 시 VI가 깨지는 일반적인 원인입니다.

블록다이어그램에 데이터 타입이 맞지 않거나, 끊어지고 연결되지 않아서 깨진 와이어가 있는 경우. 깨진 와이어를 처리하는 방법에 대한 정보는 LabVIEW 도움말의 깨진 와이어 수정하기 항목을 참조하십시오.

블록다이어그램의 필수 터미널이 연결되어 있지 않은 경우. 필수 입력 및 출력 설정에 대한 정보는 LabVIEW 도움말의 와이어를 사용하여 블록다이어그램 객체에 연결하기 항목을 참조하십시오.

SubVI가 깨져 있거나, 아이콘을 블록다이어그램에 놓은 후 SubVI 의 커넥터 팬을 편집한 경우.

 

 

부정확한 동작 고치기

 

VI가 실행되지만 올바르지 않은 결과를 생성할 때에는 코드에 기능적 에러가 있는 것입니다. LabVIEW에는 예상대로 동작하지 않는 VI의 일부에 대한 분석을 돕는 여러 가지 도구가 있습니다.

 

 

블록다이어그램 도구 모음

 

VI를 실행할 때, 블록다이어그램 도구 모음에는 VI를 디버깅하는데 활용할 수 있는 버튼이 나타납니다. 블록다이어그램에 있는 도구 모음은 다음과 같습니다.

 

실행 하이라이트 버튼을 클릭하면, VI가 실행될 때 블록다이어그램의 실행 동작이 애니메이션으로 나타납니다. 이를 통해 블록다이어그램에서 데이터가 어떻게 흐르는지를 살펴볼 수 있습니다. 실행 하이라이트를 비활성화하려면 버튼을 다시 클릭하면 됩니다.

 

실행 하이라이트 기능은 블록다이어그램 상에 와이어를 따라 방울이 함께 이동하는 모습을 나타내어, 데이터가 한 노드에서 다른 노드로 흐르는 것을 보여줍니다. 실행 하이라이트를 단계별 실행과 함께 사용하면, VI 전반에 걸쳐 데이터 값이 노드와 노드 사이에서 어떻게 이동하는지를 확인할 수 있습니다.

 

참고: 실행 하이라이트는 VI의 실행 속도를 현저히 저하시킵니다.

그림 2. 실행 하이라이트 사용의 예

와이어 값 유지 버튼을 클릭하면 실행 흐름의 각 포인트에서 와이어 값을 저장하게 되고, 이를 통해 와이어에 프로브를 놓을 때 와이어를 따라 흐른 데이터의 가장 최근 값을 바로 유지할 수 있습니다. VI가 한번 이상 성공적으로 실행된 경우에만 와이어 값을 유지할 수 있습니다.

 

 

단계별 실행 들어가기 버튼을 클릭하면 노드를 열고 일시 정지합니다. 단계별 실행 들어가기 버튼을 다시 클릭하면, 첫 번째 작업을 실행한 후 SubVI나 구조의 다음 작업에서 일시 정지합니다.

또한 <Ctrl> 키와 아래 방향 화살표 키를 누를 수 있습니다. VI에서 단계별 실행 들어가기를 선택하면, 한 노드씩 VI가 실행됩니다. 각 노드는 실행될 준비가 되었을 때 깜빡입니다.

단계별 실행 건너뛰기 버튼을 클릭하면 노드가 실행 된 후 다음 노드에서 일시 정지합니다. 또한 <Ctrl> 키와 오른쪽 방향 화살표 키를 누를 수 있습니다. 노드에서 단계별 실행 건너뛰기를 하면, 단계별 실행 없이 노드를 실행하게 됩니다.

단계별 실행 나가기 버튼을 클릭하면 현재 노드의 실행을 마치고 일시 정지합니다. VI가 실행을 완료하면, 단계별 실행 나가기 버튼은 비활성화됩니다. 또한 <Ctrl> 키와 위 방향 화살표 키를 누를 수 있습니다. 노드에서 단계별 실행 나가기를 하면, 해당 노드의 단계별 실행을 완료하고 다음 노드를 탐색하게 됩니다.

VI에 경고가 있고 에러 리스트 윈도우의 경고 보이기 확인란에 확인 표시를 한 경우, 경고 버튼이 나타납니다. 경고는 블록다이어그램에 잠재적인 문제가 있음을 알려주지만, VI의 실행을 중단시키지는 않습니다.

 

 

프로브 도구

프로브 도구를 사용하면 실행 중인 VI에서 와이어의 중간값을 확인할 수 있습니다.

여러 개의 연속적인 작업으로 구성된 복잡한 블록다이어그램의 경우, 어느 동작에서 잘못된 데이터가 반환되는지 알아보기 위해 프로브 도구를 사용합니다. 프로브 도구를 실행 하이라이트, 단계별 실행, 브레이크포인트와 함께 사용하면, 잘못된 데이터의 유무 여부와 그 위치를 확인할 수 있습니다.

 

잘못된 데이터가 있는 경우, 프로브는 즉시 업데이트를 하고 해당 데이터를 실행 하이라이트,단계별 실행, 또는 브레이크포인트에서 일시정지할 때 프로브 관찰 윈도우에 디스플레이합니다. 또한 단계별 실행 또는 브레이크포인트로 인해 노드에서 일시 정지 상태일 때, 방금 실행된 와이어를 프로브하면 해당 와이어를 따라 진행 중인 값을 볼 수 있습니다.

 

728x90
반응형
그리드형