디버그 중 값 검토하기
R2021b 이후. 디버그 중 값 검토하기(R2021a)를 대체합니다.
코드 파일을 디버그할 때, MATLAB®이 일시 중지되어 있는 동안 현재 작업 공간에 있는 모든 변수의 값을 볼 수 있습니다. 코드 라인이 예상된 결과를 생성하는지 여부를 확인하려는 경우 값을 검토하면 유용합니다. 예상된 결과가 생성된 경우 코드 실행을 계속하거나 다음 라인으로 이동할 수 있습니다. 예상된 결과가 생성되지 않은 경우 해당 라인 또는 이전 라인에 오류가 있을 수 있습니다.
변수 값 검토하기
디버그하는 중 다음과 같은 여러 방법으로 변수 값을 검토할 수 있습니다.
작업 공간 브라우저 — 작업 공간 브라우저에 현재 작업 공간에 있는 모든 변수가 표시됩니다. 작업 공간 브라우저의 값 열에는 변수의 현재 값이 표시됩니다.
추가 세부 정보를 보려면 변수를 더블 클릭하십시오. 변수 편집기가 열리고 해당 변수에 대한 내용이 표시됩니다. 변수 편집기에서 변수를 여는 데는
openvar
함수를 사용할 수도 있습니다.편집기 및 라이브 편집기 — 편집기 및 라이브 편집기에서 변수 값을 보려면 커서를 변수 위에 놓으십시오. 데이터팁에 현재 변수 값이 표시됩니다. 커서를 이동할 때까지 데이터팁이 표시된 상태로 유지됩니다. 데이터팁을 표시하는 데 어려움이 있는 경우 변수가 포함된 라인을 클릭한 후 변수 옆으로 포인터를 이동합니다.
편집기에서 디버그할 때는 항상 데이터팁이 활성화되어 있습니다. 라이브 편집기에서 데이터팁을 비활성화하려면 또는 편집기에서 파일을 편집하는 경우 보기 탭으로 이동하여
데이터팁 버튼을 클릭하여 끄십시오.
편집기 및 라이브 편집기에서 변수 또는 방정식을 선택하고, 마우스 오른쪽 버튼을 클릭한 후 명령 창에서 선택 항목 실행을 선택하여 변수 또는 방정식의 값을 볼 수도 있습니다. MATLAB은 명령 창에 변수 또는 방정식의 값을 표시합니다.
참고
MATLAB이 작업을 수행하는 동안에는(예: 파일 실행) 선택 항목을 실행할 수 없습니다.
명령 창 — 명령 창에서 변수 값을 검토하려면 변수 이름을 입력하십시오. 예를 들어, 변수
n
의 값을 보려면n
을 입력하고 Enter를 누르십시오. 명령 창에 변수 이름과 해당 값이 표시됩니다. 현재 작업 공간에 있는 변수를 모두 보려면who
함수를 호출하십시오.
현재 작업 공간 외부에 있는 변수 값 보기
함수를 디버그하거나 호출된 함수 또는 호출된 파일로 이동하면 MATLAB은 이 현재 라인에서 일시 중지되기 전까지 실행한 함수 목록을 표시합니다. 함수 호출 스택이라고도 하는 이 목록은 편집기 또는 라이브 편집기에서 파일 상단에 표시됩니다. 이 목록에는 함수가 순서대로 표시됩니다. 다시 말해, 처음 호출된 스크립트나 함수부터 MATLAB이 일시 중지된 현재 스크립트나 함수까지 왼쪽에서 오른쪽 방향으로 표시됩니다.
dbstack
함수를 사용하여 명령 창에서 현재 작업 공간을 볼 수도 있습니다.
dbstack
> In mean (line 48) In plotRand (line 5)
함수 호출 스택 내의 각 함수마다 이에 대응하는 작업 공간이 있습니다. 작업 공간에는 MATLAB 내에서 생성한 변수, 또는 데이터 파일이나 다른 프로그램에서 가져온 변수가 있습니다. 명령 창을 통해 할당된 변수나 스크립트를 사용하여 생성된 변수는 기본 작업 공간에 속합니다. 함수에서 생성된 변수는 그 함수 고유의 작업 공간에 속합니다.
현재 작업 공간의 외부에 있는 변수 값을 검토하려면 다른 작업 공간을 선택하십시오. 편집기 또는 라이브 편집기에서 파일 상단에 표시된 함수 호출 스택의 오른쪽에 있는 드롭다운 목록에서 작업 공간을 선택합니다.
명령 창에서 dbup
함수와 dbdown
함수를 사용하여 함수 호출 스택의 이전 작업 공간이나 다음 작업 공간을 선택할 수도 있습니다. 현재 작업 공간의 변수를 나열하려면 who
또는 whos
를 사용하십시오.
MATLAB이 변수를 덮어쓰는 도중에 다른 작업 공간에서 이 변수의 값을 보려고 하면 MATLAB이 명령 창에 오류를 표시합니다.
K>> x Variable "x" is inaccessible. When a variable appears on both sides of an assignment statement, the variable may become temporarily unavailable during processing.
dbup
명령을 사용하든지 상관없이 오류가 발생할 수 있습니다.